PHPコードレベル最適化
2886 ワード
PHP最適化の目的は、最も速い実行速度と最もメンテナンスしやすいコードを最小限のコストで交換することです.
PHPコード最適化テクニック は、文字列接続の代わりに は、 対 は、二重引用符の代わりに単一引用符で文字列を含むので、より速くなります.PHPは二重引用符で囲まれた文字列で変数を検索するので、一重引用符では検索できません. 関数は、正規表現の代わりに同じ機能を完了します. 変数 は、複数の は、 ファイルを含むときにフルパスを使用すると、オペレーティングシステムのパスを解析するのにかかる時間が少なくなります. は、グローバルな数値を作成するのはよくありませんが、実際にはそうする必要がある場合があります.データベース・テーブルまたはデータベース接続情報にグローバル・ファクトを使用するのは良い考えですが、PHPコードで頻繁にグローバル・ファクトを使用しないでください.また、より良い方法は、グローバル変数をconfigに保存することです.phpファイルにあります. スクリプトの実行が開始された時刻を知りたい場合は、 apacheの エラーメッセージを はできるだけ大量のPHP内蔵関数を採用する. 事前定義されていないローカル変数の増加は、事前定義されたローカル変数の増加よりも9〜10倍遅い. 派生クラスのメソッドは、ベースクラスで定義された同じメソッドよりも速く実行されます. は、関数で呼び出すことなく1つのローカル変数のみを定義し、同じように速度を遅くする(ローカル変数を1つ増加させることに相当する) . ApacheがPHPスクリプトを解析する時間は、静的HTMLページを解析するよりも2~10倍遅い.できるだけ静的HTMLページを多く使い、スクリプトを少なくします. 前に述べたように、phpサイトの最も重要な部分の99%がデータベースである可能性があります.そのため、sqlを正しく使用する方法をよく知って、関連テーブルとより高度なデータベース技術を学ぶ必要があります. は、7〜8回のローカル変数インクリメント動作を実行するのにかかる時間に相当するパラメータを有する空の関数を呼び出す. 文字列を操作し、その長さが何らかの要件を満たしているかどうかを確認する必要がある場合、 は、すべての場合、オブジェクト向けの開発を使用する必要はありません.オブジェクト向けはオーバーヘッドが多く、メソッドとオブジェクト呼び出しごとに多くのメモリが消費されます. スクリプトがキャッシュできない限り、呼び出されるたびに再コンパイルされます.PHPキャッシュメカニズムを導入すると、コンパイルのオーバーヘッドを回避するために、通常25%から100%のパフォーマンスを向上させることができます.
PHPコード最適化の注意事項短いコードは速いコードではありません.多くの人はプログラムを書くときにコードを簡潔に書くことを望んでいますが、短いコードほど実行時間が長くなることがあります. プログラムを書くときは、速度を追求するのではなく、プログラムの拡張性を重視しなければならない. コードを最適化する前に、ほとんどのアプリケーションのボトルネックがコードではなくデータベースにあるため、データベースに関連する部分を見てみましょう. マイクロ最適化損をしないマイクロ最適化とは何ですか?前述したように、正規表現部分のコードを文字列関数に置き換えます.(1)時間がかかる(2)パフォーマンスの問題が根本的に解決されない(3)以前のコードを破壊して未知のエラーを生じる可能性が高い(4)リターン よりも大きな支払いをする.
php中国語ネットを引用して、自分で調べるのに便利です
PHPコード最適化テクニック
echo
はprint
より速いです.echo
の多重パラメータを使用する.for
サイクルを実行する前に最大サイクル数を決定し、サイクルごとに最大値を計算しないで、foreach
で置き換えることが望ましい.global
変数は、使い切るべきでunset()
が落ちます.$i
の増加または減少が実行されると、$i++
は++$i
よりも遅くなる.この違いはPHP特有で、他の言語には適用されません.++$i
が速いのは、3つの命令(opcodes)しか必要としないためです.$i++
は4つの命令が必要です.後続のインクリメントは、実際には一時変数を生成し、この一時変数はその後インクリメントされます.前置増加はそのまま元の値に増加します.switch case
文を使用するよりも、選択分岐文(if,else if
)を使用する方がよい.var_dump
を用いてPHPコードのデバッグを行う.phpデバッグ技術を探しているならvar_と言わなければなりませんdumpはあなたが探している目標であるべきで、php情報を表示する上でこのコマンドはあなたのすべての需要を満たすことができて、デバッグコードの多くの情況はPHPの中の数値を得ることと関係があります.$_SERVER[‘REQUEST_TIME’]
を使用するとtime()
よりも優れています.mod_deflate
モジュールを開くと、ページを圧縮し、伝送速度を最適化し、帯域幅を節約できるという利点があります.欠点:CPUが余分に消費され、古いブラウザでは圧縮がサポートされていない場合があります.@
でブロックする方法は非常に効果的ではありません.strlen()
関数は当然使用されると思います.この関数は、計算を行わずにzval構造(PHP変数を格納するCの内蔵データ構造)に格納されている既知の文字列の長さだけを返すため、かなり速く実行されます.PHPコード最適化の注意事項
php中国語ネットを引用して、自分で調べるのに便利です