0

PHP のループで実行できるさまざまな最適化のいくつかを読んだのでfor、これに関するあなたの意見を評価したいと思います。

for ($x = 0; $x < 50000000; ++$x) {
}

この基本的な例で、速度を上げるために他に何ができるでしょうか? Zend Optimizer は非常に基本的なことで役立ちますか? ばかげていて実際のユースケースではないように思えますが、私にとっては特に興味深いものです。

4

2 に答える 2

5

現在、ループはまったく何もしていないため、これまでにないほど最適化されています。おそらく言語構造を最適化するのではなく、ループで何が起こっているのかを心配する必要があります。

ループ宣言を「最適化」するための唯一のアドバイスは、不必要に 5000 万回再評価される可能性があるため、比較で関数のforようなものを使用しないことです。count()すなわち:

$count = count($hugeArray);
for( $i=0; $i<$count; $i++ ) {
  //actual code
}

それ以外の場合は、ループ内のコードにもっと関心を持つ必要があります。ループ内に他のループはありますか? 再帰呼び出し?ブロック/ロック操作? との間のコードを合理化する{と、毎日数十の余分なクロック サイクルを使用することを心配するよりもはるかに優れた収益}得られます。for

于 2013-02-13T19:34:36.240 に答える
1

読み取り可能で保守可能なコードに焦点を当てます。マイクロ最適化は、読み取り不能なコードにつながるため、一般的に悪いことです。Jeff Atwood (stackexchange の共同創設者) のコメントをご覧ください: http://www.codinghorror.com/blog/2009/01/the-sad-tragedy-of-micro-optimization-theater.html

于 2013-02-13T19:33:31.150 に答える