ホームページ  >  記事  >  バックエンド開発  >  PHP 言語レベルの最適化とコードの最適化_PHP チュートリアル

PHP 言語レベルの最適化とコードの最適化_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:36:13748ブラウズ

大規模なシステム開発において、キャッシュは間違いなく重要です。PHP の世界では、Java ほど多くのキャッシュ ソリューションから選択できるわけではありませんが、「高度な PHP プログラミング」から始まるいくつかの成熟したソリューションがまだあります。次のことを学びました:

1. 言語レベルの最適化: PHP には多くのエンジン レベルの API があり、これらの API を通じてエンジンの実行動作を変更して、動作を最適化することができます。その中で、最も価値のあることは、コンパイル結果をキャッシュすることです。ご存知のとおり、PHP は実行されるたびに、ソース コード -> コンパイル -> 中間コード -> エンジンの実行というプロセスを経る必要があり、一部の大規模なアプリケーションでは、無駄なコンパイルにかなりの時間が費やされます。ページにアクセスする PHP のみ) ファイルはコンパイル プロセスを実行する必要があります。スクリプトで require() と include() が使用される場合、含まれる一部のファイルをコンパイルする必要があります。コンパイル結果をキャッシュすることにより、システムのパフォーマンスを大幅に向上させることができます (システムの複雑さと規模に比例します)。

コンパイル済みキャッシュを実装できる PHP の世界で主流の 3 つのツールは次のとおりです:

Zend Accelerator — Zend Industries によって作成された商用のクローズドソースの有償コンパイラ キャッシュ
ionCube Accelerator — Nick Lindridge によって作成され、彼の会社 ionCube によって配布された商用のクローズドソースだが無料のコンパイラ キャッシュ
APC —Daniel Cowgill と George Schlossnagle によって作成された無料のオープンソース コンパイラ キャッシュ

APC のインストール方法。APC は PECL に含まれており、具体的なインストールは次のとおりです 190-823 190-802:

コマンドを実行

#pear インストール APC

その後、php.ini ファイルを追加します:

拡張子 = /path/to/apc.so

これで、次回phpを実行すると自動的にAPCが起動され、コンパイル結果が共有メモリにキャッシュされ、次回実行時に編集結果が直接取得されます。メモリに保存され、再度コンパイルせずに実行されます。

質問: APC は、前回のコンパイル以降に変更された PHP を自動的に再コンパイルできますか?

2. PHP コードの最適化: 次のように、いくつかのツールを使用してコンパイル後に高品質の中間コードを生成します。

Zend Optimizer はクローズドソースですが、自由に利用できるオプティマイザーです。

ionCube アクセラレータには統合オプティマイザーが含まれています。
PEAR の概念実証オプティマイザー。

オプティマイザーの主な機能:

1. 決して実行されないデッドコードなどの無駄なコードを削除します。

2. 定数の計算。たとえば、$秒_in_day = 24*60*60 を直接 $秒_in_day = 86400;に変更します。

3. 次のステートメントなどの他のコード最適化関数:

$count++;

は ++$count に最適化され、実行が高速化されます。 もちろん、ステートメントが $i = $count++ の場合、最適化は行われません

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

tru​​ehttp://www.bkjia.com/PHPjc/508244.html技術記事大規模なシステム開発において、キャッシュは間違いなく重要です。PHP の世界では、Java ほど選択できるキャッシュ ソリューションは多くありませんが、まだ成熟したソリューションがいくつかあります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。