転載元: http://www.laruence.com/2011/05/31/2018.html
著者: Laruence( ) 記事アドレス: http://www.laruence.com/2011/05/31/ 2018.html 転載の際は出典を明記してください
4月にPHPのパフォーマンス最適化に関する技術交流をさせていただきました
今日はその交流のPPTをslideShareに載せさせていただきました
ところで、いくつかの側面についてお話しさせてください。 PHP パフォーマンスの最適化に関する意見。
1. 最適化の提案の目的は最適化ではなく、間違いを防ぐことです。
PPT に記載されている最適化の提案は、コードを修正するためのガイドラインとして誰もが使用できるものではありません。パフォーマンスの問題が発生した場合は最適化します。ただし、誰もが最初にコードを書くときに、より良い記述方法を心理的に理解できることを願っています。
2. 最適化の提案はガイドラインではありません
時々、マジック メソッドの使用は許可されていないのではないかと疑問に思う人もいるでしょう。
最適化の提案は、コードを書くときに何が遅くて何が速いのかを理解できれば、人々がそれらを悪用したり不謹慎に使用したりするのを防ぐための提案です。マジック メソッドへの不要な呼び出しを回避します。これが、この最適化提案が求める効果です
たとえば、Yaf では、ビュー エンジン用のマジック メソッド __set を定義したため、一部の友人はそれを次のように使用しています。
$this->getView ()->user = "laruence"; $this->getView()->age = 28; $this->_view->desc = "PHP エンジニア";それなら問題はありませんが、PHP では各セットは関数呼び出しであるため、パフォーマンスの最適化に関する提案を読んだ後、これが実際には次の方法で実行できることがわかります。$this->getView( )->assign( array( "user" => "laruence", "age" => 28, "desc" => "PHP エンジニア", ));;
代わりに、それが最適化の提案です。これが望ましい効果です。3. 最適化の提案は普遍的なものではなく、言語に関連しています
C や Java を書いていた PHPer はたくさんいますが、言語は単なるツールですが、それを使いこなすには、言語の特性を理解する必要があります。
たとえば、C の場合、多くの最適化を実行できる非常に強力なコンパイラ「オプティマイザー」が備わっていますが、PHP はインタプリタ スクリプト言語であり、単にそれを実行するだけです。コードの実行に集中し、最適化は行われません。したがって、作成したコードのスタイルは最終的な実行スタイルに直接影響します
また、C の場合、シンボルは (ほとんどの) アドレスに変換されます。また、PHP の場合、シンボルは使用する前に検索 (ハッシュ ルックアップ) する必要があるため、次のようなコードもありました:
for ($i=0; i各サイクルで 6 つのハッシュ ルックアップが行われます...
4. 根本原因を知るには
PHP は非常に高級な言語です。いくつかの関数を非常に便利かつ簡潔に完了するために使用されます
そして、このプロセスを理解することによってのみ、高級言語レベルでそれを真に達成し、最適化にプラスの影響を与えることができます。
PHP パフォーマンス
Laruence Hui のプレゼンテーションをさらに見る
最後に、SlideShare が「ブロック」されている場合は、ここをクリックしてダウンロードしてください: PHP パフォーマンス PPT