Tom*_*ski 11 javascript performance firefox
考虑以下代码:
Test = function() {
}
t = new Test();
for (var i = 0; i < 8; i++) {
result = t instanceof Test;
}
Run Code Online (Sandbox Code Playgroud)
如果您将迭代次数从8更改为9,则在最新版本的Firefox(41.0.1)中,循环将突然缩短约100倍.我在两台不同的PC上测试了它,魔法限制总是8.
这是我使用的JSPerf测试:http://jsperf.com/instanceof-8-times-vs-9-times
有谁知道为什么会发生这种情况?它似乎特定于instanceof.如果您对该对象执行其他操作,则不会发生这种情况,例如检查属性.
注意:我还提交了一个Bugzilla错误.
小智 -2
当值为 9 时,循环 10 次,因此 100x 大概是 10^2 - 即两个字符而不是一个。人们还可以确定执行 100 次是否会导致速度降低 10^3。听起来很疯狂,但是这个 Javascript.
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |