我正在阅读的幻灯片 用 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;
}
(提示: primes 是一个长度为 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