История изменений
Исправление crutch_master, (текущая версия) :
Смотря какого for.
For(;;) по массиву имею ввиду.
Есть еще while если что, и он исторчески быстрее всего.
+- одно и тоже. Может я, конечно, криво бенчу.
var time = function(f) {
var start = new Date().getTime();
f();
return new Date().getTime() - start;
}
var timeAvg = function(f, tries = 10) {
var sum = 0;
for (let i = 0; i < tries; i++) {
var t = time(f);
sum += t;
}
return sum / tries;
}
var arr = [];
for (let i = 0; i < 10**7; i++) arr.push(i);
var t = 0;
timeAvg(()=>{
for (let i = 0, c = arr.length; i < c; i++) {
arr[i] == 100 && ( t += 1)
}
}, 10000);
>>> 6.3912
timeAvg(()=>{
let i = 0;
while (i < arr.length) {
arr[i] == 100 && (t += 1);
i++;
}
}, 10000);
>>> 6.5894
Хотел забенчить на луа, но не шмог. В луа 5.2 нету системного таймера с миллисекундами из коробки.
Исправление crutch_master, :
Смотря какого for.
For(;;) по массиву имею ввиду.
Есть еще while если что, и он исторчески быстрее всего.
+- одно и тоже. Может я, конечно, криво бенчу.
var time = function(f) {
var start = new Date().getTime();
f();
return new Date().getTime() - start;
}
var timeAvg = function(f, tries = 10) {
var sum = 0;
for (let i = 0; i < tries; i++) {
var t = time(f);
sum += t;
}
return sum / tries;
}
var arr = [];
for (let i = 0; i < 10**7; i++) arr.push(i);
var t = 0;
timeAvg(()=>{
for (let i = 0, c = arr.length; i < c; i++) {
arr[i] == 100 && ( t += 1)
}
}, 10000);
>>> 6.3912
timeAvg(()=>{
let i = 0;
while (i < arr.length) {
arr[i] == 100 && (t += 1);
i++;
}
}, 10000);
>>> 6.5894
Хотел забенчить на луа, но не шмог. Там нету системного таймера с миллисекундами из коробки.
Исходная версия crutch_master, :
Смотря какого for.
For(;;) по массиву имею ввиду.
Есть еще while если что, и он исторчески быстрее всего.
+- одно и тоже. Может я, конечно, криво бенчу.
var time = function(f) {
var start = new Date().getTime();
f();
return new Date().getTime() - start;
}
var timeAvg = function(f, tries = 10) {
var sum = 0;
for (let i = 0; i < tries; i++) {
var t = time(f);
sum += t;
}
return sum / tries;
}
var arr = [];
for (let i = 0; i < 10**7; i++) arr.push(i);
var t = 0;
timeAvg(()=>{
for (let i = 0, c = arr.length; i < c; i++) {
arr[i] == 100 && ( t += 1)
}
}, 10000);
>>> 6.3912
timeAvg(()=>{
let i = 0;
while (i < arr.length) {
arr[i] == 100 && (t += 1);
i++;
}
}, 10000);
>>> 6.5894