2

役に立たないマイクロ最適化手法を見つけるにはどうすればよいですか?

何を避けるべきですか?

4

3 に答える 3

9

最初に測定およびプロファイリングせずに行われた最適化は役に立ちません。

PHPコードプロファイラー:

  • xDebug
  • PHP_Debug
  • 時間(単純なものを使用して、コードのボトルネックを簡単に見つけることができる場合がありますecho time()

最適化する前に必ず測定してください。

于 2010-11-21T05:10:54.943 に答える
4

動作し、読み取り可能なコードを記述します。動作が遅い場合は、いつでもプロファイリングを行うことができます。

于 2010-11-21T05:12:27.593 に答える
0

私は自分自身を不人気にして言ってissetいます。

未定義の変数をチェックするisset()ことは、アプリケーションロジック全体でよく使用されます。ただし、多くの人は、通知を抑制する目的でのみ使用します。それを使用しても、さらなる行列ロジックに寄与することはめったにありません。より具体的には@、エラー抑制演算子で使用されます。そして、それは@slownessの神話があるからです。

問題は、それは神話ではないということです。@未定義の変数にアクセスするために使用すると、処理速度が低下します。私の非常に非科学的なテストでは、535%でした。その数の無用さを強調するために大胆にしています。なぜなら、実際のアプリケーションでは、それを測定するために1,000万回のオカレンスがないからです。(「単一」引用符の13〜14%のトークナイザーの高速化は、スクリプトの実行時間全体に影響を与えません。)そうでない場合、このパフォーマンスの欠点は実際には現れません。@そのため、のオーバーフロー使用を避けることissetもマイクロ最適化であると結論付けています。

于 2010-11-21T05:26:41.030 に答える