最も人気のあるスクリプト言語の1つであるPHP 7は、その最新バージョンが最も近い前バージョンを大幅に凌駕したため、再び話題となっている。正確な型宣言を可能にし、無名クラスを追加する一方で、パフォーマンスの高速化とエラー処理の促進に成功している。一方、HHVMはヒップホップな仮想マシンで、PHPコードをうまく実行できる。現在の議論のトピックは、この2つのどちらかを選択すること、そしてその背後にある重要な理由と動機です。この議論の大部分は、PHP 7とHHMVの速度の比較という方向に行きがちである。しかし、PHP 7とHHMVの比較には、状況的な要素も絡んできます。
フェイスブックは2010年にHHVMを開発し、翌年に一般公開した。HHVMは、フェイスブックのユーザーにより高速なウェブ体験を提供するために必要なサーバー・リソースを削減するために設計された。HHVMには、PHPコードを素早くマシンコードに変換するメリットがある。
HHVMの長所
1.JIT コンパイラのおかげで、HHVM は PHP 5 よりもパフォーマンスが大幅に向上しています。
2.HHVMを使用しているフェイスブック自身は、常にアップグレードに取り組んでおり、これはコミュニティのサポートに依存していることを意味する。
3.動的な翻訳のため、ウェブサイトは通常、ほとんどの場合、より高速に実行することができます。
4.HHVMの場合、Hackは内部で開発された言語であるため、プログラマーは静的型付けだけでなく動的型付けも使用することができ、コンパイル速度を向上させることができる。
5.HHVMはリクエストの実行に多くのメモリ空間を必要としない。
6.HHVMは開発者のスキルに関係なく、誰でもインストールして作業することができる。
HHVMの短所
1.カスタム拡張機能を追加する場合は、使用する前にまず変換する必要があります。
2.フェイスブックがHHVMの使用とサポートを止めれば、現在存在するサポートと開発のための大規模なコミュニティは消滅するだろう。
3.HHVM自体はWordPressのすべてのテーマやプラグインをサポートしているわけではないが、HHVMで使うためにはこれらをハックする必要がある。
4.HHVMはハイエンドのマシンを使って作られ、常にハイエンドのマシンのために作られてきた。
5.HHVM は PHP 7 と比較して、より多くのメモリ領域を必要とします。このため、サーバーの選択に制約が生じる可能性があります - RAMの空き容量が2GB未満のサーバーでHHVMを使用することはお勧めできない理由です。
PHP 7
PHP 7とHHVMの比較を始めると、HHVMとPHPインタプリタはどちらもPHPコードを実行するので、コードを書く基本的なプロセスはどちらも基本的に同じであることに気づく。また、HHVMを使用する前に、サーバーにインストールし、HHVMコマンドを使用して呼び出す必要がある。違いは基本的に、HHVMとPHP 7の両方がコードを解釈する方法にあります。
PHPは、PHP用の標準インタプリタを使用することで、サーバー上でコードを直接解釈し、実行します。こうして生成されたHTMLコードは、クライアントに送信され、エンドユーザーに表示されます。
一方HHVMの場合、コードはマシンコードに変換されて実行される前にヒップホップバイトコードに変換される。これは、PHPコードのすべての非効率性を排除し、パフォーマンスを大幅に向上させる上で重要な役割を果たします。
PHP 7の長所
1.PHP 7は、その前身であるPHP 5.6と比較して、リクエスト処理能力が倍増し、 これらのリクエストに対するレスポンスも速くなっている。
2.最新版のPHP 7では、プログラミング言語の新機能として、統一された変数構文と戻り値の型のヒンティング、そしていくつかの新しい演算子が追加されました。
3.新しいバージョンのPHP 7は、データの処理方法が変更され、前バージョンのPHP 5.6と比較して3.5倍効率的にメモリを管理する。
4.PHPについては、トラブルシューティングやその他の技術サポートなど、開発者をサポートする先進的なコミュニティが数多く存在する。
PHP 7の短所
1.PHP 7 は PHP 4 のいくつかの機能をサポートしていません。
2.パフォーマンス・メトリクスのすべてではないにせよ、HHVMはPHPと比較して際立っている。
3.まだPHP 7に対応していないプラグインやアプリケーションテーマがかなりあります。
4.このような制約があるため、PHP 7の使用は、Facebookを代表とするトラフィックが非常に多いウェブサイトには推奨されません。
PHP 7とHHVMの比較
サイトのロード・タイム・テストに基づいて比較すると、PHP 7とHHVMはどちらもほぼ同等のパフォーマンスを発揮します。これは、PHP 7がパフォーマンスの面でPHP 5の後継として大幅に改善されているためで、PHP 5を使い慣れた人であれば、PHP 7の改善点を理解することができるでしょう。HHVMの場合、より少ないCPUリソースを使用し、このため、より多くのリクエストとトランザクションを同時に処理することができます。また、この効率性により CPUスロットリング これは、トラフィックの急増時に一貫したパフォーマンスを維持するために重要なことである。では、最終的にこの2つのどちらを選択すればいいのかという疑問が生じる。
すべては、最終的にあなたの正確な要件と容量に帰着します。例えば、非常に多くのリクエストを同時に処理する必要があるウェブサイトでは、HHVMの使用を検討することは間違いなく素晴らしいアイデアです。しかし、ほとんどの場合、PHP 7はほとんどのユーザーのニーズを処理するのに十分であることが証明されるでしょう。
最後に、この2つのどちらかを選択する前に、選択するテクノロジーが御社の具体的なビジネスニーズを十分に満たしていることを確認する必要があります。というのも、結局のところ、見込み客の閲覧に耐えるパフォーマンスの低いウェブサイトを放置しておくと、ブランドのイメージに取り返しのつかないダメージを与えかねないからだ。ですから、古いバージョンのPHP 5のままじっとしているよりも、できるだけ早く、PHP 7かHHVMのどちらかの改善方向に進むべきです。これは、あなたのビジネスが市場で競争力を維持するのに役立ちます。