我正在阅读幻灯片使用V8破解Javascript速度限制,并且有一个示例,如下面的代码.我无法弄清楚为什么<=比<这种情况慢,有人可以解释一下吗?任何评论都表示赞赏.
慢:
this.isPrimeDivisible = function(candidate) {
for (var i = 1; i <= this.prime_count; ++i) {
if (candidate % this.primes[i] == 0) return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
(提示:素数是一个长度为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;
}
Run Code Online (Sandbox Code Playgroud)
[更多信息]速度提升很显着,在我的本地环境测试中,结果如下:
V8 version 7.3.0 (candidate)
Run Code Online (Sandbox Code Playgroud)
慢:
time d8 prime.js
287107
12.71 user
0.05 system
0:12.84 elapsed
Run Code Online (Sandbox Code Playgroud)
快点: …