Chr*_*ris 5 javascript performance object
问题标题几乎说明了一切:更长的密钥使查找更慢?方法是:
someObj["abcdefghijklmnopqrstuv"]
Run Code Online (Sandbox Code Playgroud)
慢于:
someObj["a"]
Run Code Online (Sandbox Code Playgroud)
另一个子问题是字符串中字符的类型是否重要.字母数字键字符串更快吗?
我试着做一些研究; 网上似乎没有太多关于此的信息.任何帮助/见解将非常感激.
一般来说没有。在大多数语言中,字符串文字是“实习生”,它对它们进行散列并使它们的查找速度更快。一般来说,不同的 javascript 引擎之间可能存在一些差异,但总体而言,如果它们实施得很好(咳IE咳),应该是相当平等的。特别是因为 javascript 引擎不断被开发,这(可能)是一件很容易优化的事情,而且情况会随着时间的推移而改善。
但是,一些引擎也对被插入的字符串的长度有限制。YMMV 在不同浏览器上。我们还可以从 jsperf 测试中看到一些见解(链接在问题的评论中)。Firefox 显然进行了更积极的实习。
至于字符的类型,无论字符集如何,字符串都被视为一堆字节,因此这也可能无关紧要。引擎可能会优化可用于点符号的键,但我没有任何证据。
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |