PHP は、Web 開発で最も人気のあるスクリプト言語の 1 つです。 PHP の最新バージョンである PHP 7 は、パフォーマンスの点で大幅に最適化されています。ただし、PHP には、PHP コードを実行する仮想ツールである HHVM (HipHop Virtual Machine) という競合製品もあります。両者の直接比較が熱くなっていますので、直接のパフォーマンス比較を見てみましょう。
HHVMとは何ですか?
2008 年、Facebook は、PHP スクリプトを Web サーバー上でコンパイルして実行できるように、PHP スクリプトを C++ に変換するツールを開発する取り組みを開始しました。目標はサーバー リソースを節約することであり、Facebook のユーザー ベースが急速に拡大しているため、これは重要な目標です。この意味では、サーバーが以前の 5 ~ 6 倍のリクエスト量を処理できるようになったので、このプロジェクトは成功しました。
2010 年当時、Facebook のサーバー要件は大幅に増加しており、効率を向上させるために新しいイノベーションの使用を検討する時期でした。このニーズに基づいて、Facebook は HHVM を開発しました。
HHVM は、ジャストインタイム (JIT) コンパイルを使用して、PHP コードをある種のバイトコードに変換します。次に、バイトコードがマシンコードに変換され、可能な限り高速に実行されるように最適化されます。
PHP 7とは何ですか?
PHP 7 は、HHVM に対する PHP コミュニティの対応です。 PHP 7 によってリリースされたプレビュー バージョンは、以前の PHP 5 に比べてパフォーマンスが 100% 向上したと主張しています。
PHP のバージョンが PHP5 から PHP7 に直接移行したのかと疑問に思われるかもしれません。その答えは次のとおりです。PHP6 の開発は 2005 年に開始されましたが、その進歩が遅すぎて多くの問題が発生したため、PHP6 はまだ正式バージョンをリリースしていません。以前から評判が悪かったです。そこで、PHP コミュニティは、言語の新しいバージョンに直接 PHP7 という名前を付けることにしました。
本当の問題は PHP5 と PHP7 の比較ではありません。PHP7 の方が実行速度が速いことはすでに明らかだからです。ただし、比較したいのは PHP7 と HHVM です。多くの専門家がこれら 2 つの方法をそれぞれ使用して PHP コードを処理し、いくつかの興味深い結論を明らかにしました。
PHP7 と HHVM の類似点と相違点を比較してください:
どちらが優れているかに答える前に、それらの主な違いと類似点を見てみましょう。
コード分析:
PHP7 と HHVM の基本的な違いは、PHP コードを解析する方法です。 PHP7 は標準の PHP パーサーを使用します。これは誰でも利用できる無料ソフトウェアであり、サーバー上で直接解析して実行できます。 HTML コードを生成してクライアントに送信すると、ユーザーが期待するコンテンツが表示されます。
対照的に、HHVM はまず PHP コードを HipHop バイト コードに変換し、次にマシン コードに変換して実行します。このプロセス中に、HHVM はコードを最適化し、実行速度を向上させることを目的として、実行効率に影響する一部の PHP コードを最適化します。
コードを書く:
PHP パーサーと HHVM はどちらも PHP コードを受信して実行できます。この方法でコードを記述するプロセスはまったく同じです。ただし、HHVM を使用する場合は、サーバーに HHVM をインストールし、コマンド ラインから HHVM コマンドを使用して HHVM を呼び出す必要があります。
パフォーマンステスト:
HHVM は、以前の PHP バージョンよりも高速なパフォーマンスを提供します。しかし、最近のパフォーマンス テストでは、少なくとも一部のケースでは、PHP7 の方が HHVM よりわずかに高速であることが示されています。 Kinstaが行ったパフォーマンステストの結果を見てみましょう:
WordPress: WordPress 4.1.1 上で実行される PHP7 は、PHP5.6 の 2 倍以上のリクエストを 1 秒あたり実行できますが、HHVM3.6.1 が提供するリクエストほど多くはありません。一方、PHP7 は 1 秒あたり 604 リクエストしか実行しませんでした。 。
Drupal: PHP7 は Drupal ユーザーに HHVM よりも明らかな利点を提供します。 Drupal8 上の PHP7 の処理応答効率は、HHVM よりも 37 パーセント以上高くなっています。
HHVM を使用している企業はどこですか?
HHVM を開発した FaceBook 企業に加えて、Wikimedia や電子商取引 Web サイト Etsy など、他の多くの企業もこのソリューションを採用し、HHVM を使用してサーバー上で PHP アプリケーションを実行しています。
ウィキメディア: ウィキメディアには、有名なオンライン百科事典ウィキペディアなど、豊富な教育コンテンツがあります。 Wikipedia には毎月 5 億人近くのインターネット ユーザーが集まりますが、このような高度なニーズを満たすには、サーバーのパフォーマンスを最適化する必要がありますが、HHVM には複数の SPU コアを同時にロードできるという利点があります。 PHPはシングルスレッド言語なので並列化はできません。 Wikipedia が HHVM を導入した後、CPU 負荷は 50% から 10% に低下し、ユーザーが編集を送信したときの平均応答時間は元の半分に短縮され、平均ページ読み込み時間は元の 1.3 秒から 0.9 秒に短縮されました。
Etsy: 5,400 万人のユーザーを抱える Tesy も、サーバーのパフォーマンスを早急に改善する必要があります。Etsy のエンジニアは、HHVM と PHP5.4 のパフォーマンスを比較したところ、HHVM は 1 秒あたり 280 のサーバー リクエストを処理できるのに対し、PHP5.4 では、 1 秒あたりのリクエスト数が 190 を超えると、サーバーの応答時間が大幅に増加します。
PHP 7 と HHVM の将来は何ですか?
PHP 7 の安定版は 2015 年 11 月にリリースされる予定ですが、この新しい言語を使用している企業はまだありません。PHP 7 のベータ版がベンチマーク テストで良好なパフォーマンスを示したため、より多くの企業が PHP 7 を使用するようになります。未来。
PHP には明るい未来がありますが、HHVM はどうでしょうか?おそらくこれからも元気に生き続けるでしょう。多くの企業は、パフォーマンスを向上させるために Web サイトで HHVM をすでに使用しており、PHP と HHVM 間の移行は一夜にしてできるプロセスではありません。 Etsy には少なくとも 6 か月かかりました。 PHP7 では HHVM に比べてパフォーマンスがわずかに向上するだけであるため、これらの企業は急いで PHP に切り替える可能性は低いです。
Facebook は今後も HHVM の開発を継続します。最近、Apple のオペレーティング システムのサポートを発表し、Apple の開発環境で作業する開発者がこのテクノロジーを利用できるようになりました。 HHVM の開発者は、WorldPress を含む多くの場合、HHVM が PHP7 よりも高速であると考えています。
HHVM と PHP 7 がオンライン ストアのオーナーをめぐって競合するのはなぜですか?
オンライン ストアの所有者は、オンライン ストアのプラットフォームに基づいて、PHP7 と HHVM のどちらを使用するかを決定する必要があります。 Web サイトが WorldPress で作成されている場合は、最新バージョンの HHVM と PHP 7 のベンチマーク結果を確認できます。テスト結果から、2 つのパフォーマンスの違いを確認し、どちらかを選択できます。ページの読み込み時間、サーバーの応答時間、CPU 使用率を大幅に削減するソリューション。
HHVMを選択する理由
HHVM は動的翻訳テクノロジーを使用しており、ほとんどの場合 (WordPress を含む) により高いパフォーマンスを提供します。
HHVM は、多数のリクエストを処理するときに各リクエストが少量のメモリのみを使用することを保証します。
HHVM 開発者は、エンジンが実行できる PHP コードの量を着実に増やしており、すでに最新バージョンの WorldPress やその他の一般的な PHP フレームワークやアプリケーションを実行できます。
HHVM はオープンソースです。HHVM は Facebook によって開発されましたが、オープンソースです。つまり、誰でもそのソース コードを使用および変更できます。
PHP 7を選択する理由
Drupal 8 の実行など、場合によっては PHP 7 が HHVM よりも高速です。
PHP 7 を使用する場合、HHVM のインストールとセットアップは必要ありません。
多くの PHP 4 機能は新しいバージョンではサポートされなくなりましたが、PHP 5 で書かれたコードは PHP 7 に変換した後も期待どおりに動作します。
PHP 7 は、安定した信頼性の高い PHP バージョンの開発で長年の評判を得ている人々のグループである PHP コミュニティによって開発されています。
HHVM 対 PHP 7: 選択してください
あまり長く躊躇しないで、オンラインウェブサイトがPHP 7とHHVMのどちらかを選択し、ウェブサイトのパフォーマンスを最適化するために早期にソリューションの実装を開始することをお勧めします。効果のないウェブサイトは評判を傷つける可能性があり、それを回復するのは困難です。