ホームページ > バックエンド開発 > PHPチュートリアル > PHP コードを高速化するための 40 のヒント (PHP 効率の向上)_PHP チュートリアル

PHP コードを高速化するための 40 のヒント (PHP 効率の向上)_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:39:28
オリジナル
942 人が閲覧しました

1. メソッドが静的である可能性がある場合、それを静的として宣言すると、速度が 1/4 向上します
2。echo には戻り値がなく、print は整数を返すため、Echo は print より効率的です。ループ中ではなく、ループの前に最大ループ数を設定します。
4. 変数、特に大きな配列を解放します。
6. requiere_once () はより多くのリソースを消費します。
7. include と require で絶対パスを使用すると、パスの分析にかかる時間が短縮されます。
8. スクリプトの実行時にセックスする必要がある場合。 '] time(); よりも優れています
9. 正規表現よりも効率が高いため、文字処理関数を使用してみてください。 ただし、str_replace は 1 です。 /4 str_replace
11 より高速です。関数が文字置換などのパラメータとして配列と単純な文字の両方を受け入れることができ、パラメータ リストが長すぎない場合は、より簡潔な置換ステートメントを使用して 1 つの文字のみを置換することを検討できます。検索および置換パラメータに配列を受け入れる代わりに、大きなことは小さくする、1+1>2;
12. @ を使用してエラーを隠すと、スクリプトの実行速度が低下します
13.$row['id'] は $row[id] よりも 7 倍高速になります。配列キーと引用符を使用することをお勧めします。
14. ループ内で関数を使用しないでください。たとえば、For($x=0; $x < count)。 ($x); count() 関数は最初に計算します。ローカル変数より 2 倍遅い。
18. ($this->prop++) などのオブジェクトのプロパティの作成は、ローカル変数より 3 倍遅い。
19.初期化されたローカル変数よりも 1 倍遅くなります
20. どの関数でも使用されていないグローバル変数を宣言すると、パフォーマンスが低下します (同じ数のローカル変数を宣言する場合と同じです)。 21. メソッドのパフォーマンスはクラスで定義されたものと同じです テスト対象のクラスに 10 個以上のメソッドを追加してもパフォーマンスに違いはないため、メソッドの数は関係ありません (これらのメソッドはテストの前後です)メソッド);
22. サブクラスのメソッドのパフォーマンスは、基本クラスのメソッドよりも優れています。
23. 1 つのパラメーターのみを呼び出し、関数本体が空の関数は、実行に 7 ~ 8 回の $localvar++ 操作を必要とします。メソッド (クラス内の関数) を実行するには、約 15 の $localvar++ 操作が必要です。
24.文字列を ” の代わりに ' で囲むと、php が '…' 内ではなく、“…” 内の変数を検索するため、処理が少し速くなります。もちろん、これは文字列に変数を含める必要がない場合にのみ実行できます。
25. 文字列を出力する場合は、ドットの代わりにカンマを使用する方が高速です。 注: この関数は一部の文字列を受け入れることができます。
26. Apache サーバーの php スクリプト ページは、対応する HTML ページの生成よりも少なくとも 2 ~ 10 倍の時間がかかります。キャッシュがインストールされている場合、再コンパイルされるたびに php スクリプトにアクセスする必要があります。これにより、繰り返しのコンパイルを削除することでパフォーマンスが 20 ~ 100% 大幅に向上します。ネットワーク アプリケーションのパフォーマンスを向上させ、データベースへの負担を軽減するために、高性能の分散メモリ オブジェクト キャッシュ システムである memcached を使用することをお勧めします。
29. IP アドレスを整数を指定し、文字の代わりにデータベースに保存します。これにより、保管スペースが約 1/4 に削減されます。同時に、アドレスを簡単に並べ替えたり、迅速に検索したりできます。
30. checkdnsrr() を使用して、ドメイン名の存在を通じて一部の電子メール アドレスの有効性を確認できます。 IP アドレス;
31. php5 および mysql4.1 以降を使用している場合は、mysql_* の改良された関数 mysqli_* を使用することを検討してください。 Before プロジェクトを完全にやり直すには、PEAR に必要なものがあるかどうかを確認してください。多くの PHP 開発者が知っているように、PEAR は巨大なリソース ライブラリです。
34. ページのソース コードの適切な形式のコピーを自動的に出力するには、error_reporting(0) 関数を使用します。ユーザーに表示されます。理想的には、php.ini ファイルでエラー報告を完全に無効にする必要があります。ただし、共有仮想ホストを使用していて php.ini を変更できない場合は、error_reporting(0) 関数を追加して各スクリプト ファイルの最初の行に配置することをお勧めします (または、require_once() を使用してそれをロードします)。 . これにより、エラー発生時に機密 SQL クエリとパスが表示されないように効果的に保護できます。
36. データベースを保存 (取得) するときに、gzcompress() と gzuncompress() を使用します。この組み込み関数は、gzip アルゴリズムを使用して 90% に圧縮できます。
37. 関数はパラメーター変数アドレスを参照することで複数の戻り値を持つことができます。変数の前に「&」を追加すると、値ではなくアドレスで渡すことを示すことができます。
38. これを読んでいるほとんどの開発者は、すでに SQL に精通していると思います。ただし、この用語をこれまでに聞いたことがない場合は、他の用語を呼び出して strlen() を使用してください。たとえば、小文字とハッシュ テーブルのクエリはそれほど高速ではありません。isset() を使用すると、strlen() よりも高速になります。 ++$i よりも少し遅くなります。これは PHP に固有のものであり、他の言語には当てはまりません。そのため、C または Java のコードを突然速くなると思って変更しないでください。実際には、そうではありません。 $i++ で使用される 4 つのオペコードの代わりに必要なのは 3 つだけであるため、$ i はたまたま高速です。ポストインクリメントでは実際に一時的な変数が作成され、その後インクリメントされますが、事前インクリメントでは元の値が直接増加します。 Zend の PHP オプティマイザーのようにオペコードが最適化する最適化の 1 つですが、すべてのオペコード オプティマイザーがこの最適化を実行するわけではなく、オペコード オプティマイザーなしで実行されている ISP やサーバーも数多くあるため、覚えておくとよいでしょう。

http://www.bkjia.com/PHPjc/321565.html

tru​​ehttp://www.bkjia.com/PHPjc/321565.html技術記事 1. メソッドが静的である可能性がある場合は、それを静的として宣言すると、速度が 1/4 向上します。 2. echo は値を返さず、print は整数を返すため、Echo は print より効率的です。ループの前に次のように仮定します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート