LINUX.ORG.RU

История изменений

Исправление 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