在Rust中,我们在标准库中有许多可用的数据结构。NEAR协议在near-api-rs中有一些优化的数据结构,但主要的区别是什么?
发布于 2020-09-27 04:21:02
Evgeny Kuzyakov (a Near protocol engineer)不以为然地回答:
如果你谈论LookupMap和HashMap,那么不同之处在于LookupMap存储在trie中,而HashMap存储在内存中。
当调用协定上的方法时,协定从存储trie中读取并反序列化主结构。如果它包含一个HashMap,那么这个映射的所有记录都将被读取和反序列化。如果它包含一个LookupMap,那么只有key_prefix会被读取和反序列化,所以从gas的角度来看,它更便宜。但是,每次从LookupMap访问键/值时,都必须从trie中读取和反序列化它。
https://stackoverflow.com/questions/64082171
复制相似问题