内存使用情况和JavaScript对象的复杂性顺序

时间:2017-02-11 09:57:48

标签: javascript object memory asymptotic-complexity

JavaScript对象很容易用作哈希图,因为它们实际上只是键/值对的集合。我关心的是内存使用情况以及存储和检索的时间成本。我想这个答案与JavaScript引擎的实现不同。 MDN Wikipedia hashmap article链接到official releases,但我不知道哈希表对于某个对象有多大。

所以我想知道的是,内存中的对象有多昂贵,存储/检索O(1)操作的频率和O(n)操作的频率是多少?

1 个答案:

答案 0 :(得分:0)

我认为这取决于您正在使用的特定JavaScript引擎。

例如,在最简单的情况下,V8将散列映射转换为数组并将其存储为单个内存块。

为什么?

由于显而易见的原因,给定偏移量而不是哈希表,访问数组元素的速度更快。

来源: http://jayconrod.com/posts/52/a-tour-of-v8-object-representation

我希望这至少可以部分回答你的问题:)