PHP プログラムのパフォーマンスを向上させることができれば
巨匠ホアはかつてこう言いました。「時期尚早な最適化はすべての不幸の根源である。」私が初心者だった頃、この言葉が正しいかどうかわかりませんでした。しかし、私が老鳥になってから、この文章は非常に鋭く、広く普及するに値するものだと気づきました。
PHP のパフォーマンスを最適化するには、まずキャッシュに注目する必要があります。残念なことに、PHP がキャッシュを使用するとパフォーマンスが 500 倍向上するという人もいます。自社の製品のせいで、企業が言語を台無しにしてしまったのです。キャッシュの重要性という点では、それを無視することはできません。キャッシュ モジュール (Memcache など) またはキャッシュ テンプレート (Smarty) を使用して、一連のキャッシュ プロセスを実行できます。 もちろん、以前に紹介したページの静的化とデータベース情報のファイル キャッシュの 2 つの方法もこのカテゴリに属します。
2 番目の点は、メモリ消費の問題です。これは、変数のコピーを割り当てることでメモリのオーバーヘッドが増加することを好む人もいます。 GET から開始します。受け取ったパラメータを別の変数に割り当てる必要がある場合、たとえば次のコードのようにメモリ消費量が 2 倍になります。 3 番目の点は、他の言語によってもたらされる欠点です。たとえば、Java プログラマーは get 関数や set 関数を書きたがるかもしれませんが、PHP プログラマーは同様です。属性を直接操作する必要はありません。これらの属性を使用しても、オーバーヘッドが増加する以外に意味のある作業は行われないため、問題ありません。
4 番目のポイントは、データベースの操作で、データを一度確認することを好む人もいますが、実際には、毎回データベースに接続したり切断したりするためのオーバーヘッドが非常に高くなります。 SQL 操作はまとめられて均一に実行され、複数のデータベース接続と切断が回避されます。
<?php//只是为了美观的新变量$msg = strip_tags($_GET['msg']);echo $msg;
echo strip_tags($_GET['msg']);
7 番目のポイントは、文字列の定義に二重引用符の代わりに一重引用符を使用すると、処理が若干速くなります。これは、PHP は二重引用符で囲まれた文字列内の変数を検索しますが、一重引用符は検索しないためです。静的メソッドを使用すると、クラスのインスタンス化が回避され、オーバーヘッドが節約されるため、速度も向上します。 echo を使用して複数の文字情報を出力する場合、原点の代わりにカンマを使用すると、文字列を結合するオーバーヘッドがなくなるため、プロセスが高速化されます。ファイルをインクルードするときに絶対パスを使用すると、PHP による include_path 内のファイルの検索が回避され、パフォーマンスが向上するため、オーバーヘッドも削減されます。
8 番目のポイントは、単純な文字列の場合は正規表現を使用しないことです。これにより、複数の if の代わりに switch case ステートメントを使用します。 。 elseif は複数の判断によるオーバーヘッドを排除するため、より最適化されています。変数を操作する場合、ローカル変数のインクリメントは最も速く、グローバル変数のインクリメントは約 2 倍遅く、オブジェクトの属性のインクリメントは約 3 倍遅くなります。
9 番目の点は、静的である理由です。Apache の PHP スクリプトの解析速度は、静的な HTML ページの解析よりも約 2 ~ 10 倍遅いため、これも静的の 1 つです。利点。ファイルを読み取るときは、fopen、fread、その他の操作の代わりに file_get_contents を使用できます。
最後の点は、foreach の効率が for と while の効率よりも少し高いということです。読者が思いついたら、それを追加したいと思います。実は、apc のようなキャッシュもあります。最初に説明したのはキャッシュです。 。 。