0

重複の可能性:
どのループがより高速であるか、

three.jsには、多くの言語に共通のコード機能があることがわかります。

for ( var i = 0, l = something.length; i < l; i++ ) {
    do some stuff over i
}

しかし、私はjavascriptで、以下を使用することでパフォーマンスが向上する可能性があることを読みました。

var i = something.length;
while(i--){
    do some stuff over i
}

これにより、実際にパフォーマンスが大幅に向上しますか?どちらか一方を優先する理由はありますか?

4

1 に答える 1

3

これにより、実際にパフォーマンスが大幅に向上しますか?

いいえ。クロスブラウザではありません(つまり、JavaScriptの実装全体で)。

さらに、この例では、whileループが逆方向にループし(nから0)、for引用符で囲んだループが順方向にループする(0からn)ことに注意してください。時々それは重要です。

一般に、マイクロ最適化が適切になることはめったにありません。これは、JavaScriptの場合に特に当てはまります。この場合、実際の実装が異なれば、パフォーマンス特性も著しく異なります。代わりに、明確で保守しやすいコードを記述し、特定のパフォーマンスの問題が発生した場合にのみ対処し、発生した場合はターゲットエンジンで対処します。

于 2012-11-07T23:23:52.223 に答える