Я читаю слайды. Преодолевая Javascript Speed Limit с 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