だから私はそれをしばらく知っていた
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');
そして2次試験へ
console.time('loop');
for( var i = 0, len = array.length; i < len ;i++ )
console.log(i)
console.timeEnd('loop')
これを数回テストした後、私の結果は決定的ではありません。両方のテストケースで、高い数値と低い数値の両方が得られます。だから私の質問は、事前に長さを取得するとパフォーマンスが向上することを明確に示すためのより良いテストは何ですか?