Javascript对象中的跨浏览器键查找性能

时间:2012-09-04 03:04:24

标签: javascript performance v8 spidermonkey chakra

我正在使用Javascript进行数据密集型项目,其中有数千个带有短字符串的对象作为“ID”,需要通过ID高效查找。我的(可能是天真的)方法是创建一个对象,每个对象都有一个属性,由ID键入。

不同的浏览器/ JS引擎如何在像这样的非常大的对象中实现键查找?我知道V8针对具有少量属性的对象进行了高度优化,但是如果有数千个属性不断添加和删除会发生什么?对象是由哈希表支持还是在不同的浏览器中尝试?无论哪种方式,我认为使用较短的密钥有一个好处,但有没有人能够洞察这是否是一个很大的好处?是否有任何浏览器在密钥查找方面如此糟糕(即,是否使用顺序搜索?)滚动我自己的数据结构会更高效吗?

1 个答案:

答案 0 :(得分:4)

多么偶然。几天前就有一个问题。 OP产生了一些测试基准,并在几个小时前发布。我建议您查看一下:JavaScript Objects as Hashes? Is the complexity greater than O(1)?