为什么 <= 比在 V8 中使用此代码片段的 < 慢?
我正在阅读幻灯片 打破Javascript速度限制 与V8,有一个像下面的代码一样的例子。我不明白为什么比这种情况慢,任何人都可以解释一下吗?任何意见是值得赞赏的。<=
<
慢:
this.isPrimeDivisible = function(candidate) {
for (var i = 1; i <= this.prime_count; ++i) {
if (candidate % this.primes[i] == 0) return true;
}
return false;
}
(提示:素数是长度prime_count数组)
更快:
this.isPrimeDivisible = function(candidate) {
for (var i = 1; i < this.prime_count; ++i) {
if (candidate % this.primes[i] == 0) return true;
}
return false;
}
【更多信息】速度提高显著,在我的本地环境测试中,结果如下:
V8 version 7.3.0 (candidate)
慢:
time d8 prime.js
287107
12.71 user
0.05 system
0:12.84 elapsed
更快:
time d8 prime.js
287107
1.82 user
0.01 system
0:01.84 elapsed