Итак, у меня есть известное на некоторое время, что
for ( var i=0, len = myArray.length; i < len; i++ ){
}
более эффективно, чем
for ( var i=0; myArray.length; i++ ){
}
для больших массивов.Но интересно, сколько выигрыша в производительности дает первое?
Сегодня я решил сделать несколько тестов.Я создал массив и поместил в него 100 000 чисел.
var array = [];
for( var i = 0; i < 100000; i++ )
array.push(i);
Затем я протестировал оба цикла выше, выполнив console.log для каждого из чисел в массиве и рассчитав время выполнения процесса.
console.time('loop');
for( var i = 0; i < array.length; i++ )
console.log(i);
console.timeEnd('loop');
И для второго теста
console.time('loop');
for( var i = 0, len = array.length; i < len ;i++ )
console.log(i)
console.timeEnd('loop')
После нескольких тестов мои результаты не дают окончательных результатов.Я получаю как высокие, так и низкие цифры для обоих тестовых случаев.Поэтому мой вопрос заключается в том, что является лучшим тестом, чтобы однозначно показать, что предварительное получение длины дает выигрыш в производительности и какой процентный выигрыш есть при этом?