回答:
PHPはバイトコードにコンパイルされ、VMに似たものの上で解釈されます。PerlやRubyなど、他の多くのスクリプト言語は同じ一般的なプロセスに従います。それは、例えばBASICのような伝統的なインタプリタ言語ではありません。
ソースを「縮小」しようとした場合、効果的な速度向上はありません。APCのようなバイトコードキャッシュを使用すると、大幅に増加します。
FacebookはHipHopというコンパイラを導入し、PHPソースをC ++コードに変換しました。PHPの大物であるRasmus Lerdorfが、今年の初めにDiggに対して、HipHopによるパフォーマンスの向上について説明したプレゼンテーションを行いました。つまり、コードを最適化してバイトコードキャッシュを使用するよりもそれほど速くはありません。HipHopは、大多数のユーザーにとってはやり過ぎです。
Facebookは最近、HipHopの作成に基づいた新しい仮想マシンであるHHVMも発表しました。それはまだかなり新しいものであり、それが一般大衆に大きなパフォーマンス向上をもたらすかどうかは明らかではありません。
明確に述べられていることを確認するために、そのプレゼンテーションをすべてお読みください。また、Facebookのxdebugやxhprofなどのツールを使用して、コードのベンチマークとプロファイルを行い、ボトルネックを特定する方法を数多く指摘しています。
以下のように、オペコードキャッシュを使用しての賛成でPHPを縮小化のアイデア見送りますPHP Accelerator
かAPC
。
または何か他のもの memcached
これは広告よりも答えが少ないです。私は、Zendオペコードを変換して静的型付けを備えたVMで実行するPHP拡張機能に取り組んでいます。任意のPHPコードを高速化しません。これにより、通常のPHPが許可するよりも高速に実行されるコードを記述できます。ここで重要なのは静的型付けです。最近のCPUでは、動的言語は分岐予測ミスのペナルティを左右に消費します。PHP配列がハッシュテーブルであるという事実も高コストを伴います。ブランチの予測ミス、キャッシュの非効率的な使用、不十分なメモリプリフェッチ、SIMD最適化はまったく行われません。特にブランチの予測ミスとキャッシュミスは、今日のプロセッサにとってアキレス腱です。私の小さなVMは、ハッシュテーブルの代わりに静的型とC配列を使用することで、これらの問題を回避しています。結果は、約10倍速く実行されます。これはバイトコード解釈を使用しています。拡張機能は、オプションでgccを介して関数をコンパイルできます。その場合、速度は2〜5倍になります。
ここに興味のある人のためのリンクがあります:
https://github.com/chung-leong/qb/wiki
ここでも、拡張機能は一般的なPHPアクセラレータではありません。あなたはそれに固有のコードを書かなければなりません。
PHPを縮小する必要はありません。パフォーマンスを向上させるには、Opcodeキャッシュをインストールします。しかし、理想的な解決策は、PHPを5.5バージョン以上にアップグレードすることです。新しいバージョンには、デフォルトでZend Optimiserと呼ばれるopcodeキャッシュがあり、他のバージョンよりもパフォーマンスが優れています。http://massivescale.blogspot.com/2013/06 /php-55-zend-optimiser-opcache-vs-xcache.html。