Chrome认为99,999与100,000截然不同。
- 论坛
- Chrome认为99,999与100,000截然不同。
7 浏览
Chrome认为99,999与100,000截然不同。
当有人发布了一个与我之前运行的几乎相同的jsperf基准测试冲突的时候,我遇到了一个非常有趣的问题。
在这两行代码中,Chrome做出了非常不同的处理:
new Array(99999); // jsperf ~50,000 ops/sec new Array(100000); // jsperf ~1,700,000 ops/sec
基准测试链接:http://jsperf.com/newarrayassign/2
我想知道这里到底发生了什么!
(为了澄清,我正在寻找一些关于V8内部的低级细节,比如它在一个情况下使用了不同的数据结构以及这些结构是什么)