コアポイント
Facebookは2008年にPHP用のHIPHOPの開発を開始しました。彼らの目標は、PHPの実行をスピードアップすることであり、プロジェクトの最初のバージョンはHPHPC/HPHPIで構成されています。 HPHPCは、生産サーバーにコードを展開するためのPHPからCコンバーターであり、HPHPIは開発およびデバッグフェーズ中に使用されるインタープリターです。
HPCはパフォーマンスを改善するのに大きな仕事をしますが、問題がないわけではありません。HPHPCとHPHPIの同期を維持することは非常に面倒であり、変換されたコードと説明されたコードの間にはまだいくつかの違いがあります。そのため、Facebookは2010年に別のアプローチを取ることを決定し、PHPが使用するZendエンジンを置き換えるように設計された新しい仮想マシンであるHHVMを作成しました。 2012年末までに、HHVMのパフォーマンスは以前のHPHPCに匹敵し、すぐにそれを上回りました。
HHVMは、Zend Engine機能を同時に互換性と最適なパフォーマンスを実現するように設計されています。 Facebookは、PHP APCからHHVMに切り替えた後、速度が3〜10回増加し、メモリの使用量が半分に減少したと主張しています。もちろん、それは実際にアプリケーションに依存します(10倍の増加はFacebookのコードベースです)。この記事では、互換性やパフォーマンスに焦点を当てません。すでに多数のリソースが利用可能であるため、HHVMブログをチェックしたり、「HHVMベンチマーク」を検索できます。 HIPHOPとHHVMの詳細については、以前のSitePointの記事をご覧ください。
代わりに、この記事は、セキュリティ、パフォーマンス、開発効率を向上させるために設計されたPHP言語の改善されたバージョンであるハックに焦点を当てます。 HHVMはハックとPHPの両方をサポートしていることに注意してください。ハックはすべてのFacebookのプロダクションサーバーで使用されていますが、現在、情報が漏れている情報はほとんどありません。要するに、ハックはFacebookのPHP6です。現在のPHPの問題のほとんどを修正しながら、静的タイピングなどの新しい機能を追加するように設計されています。ハックの初心者
最初のハックプログラムを書くことができます:
# 确保你的机器上已安装Vagrant $ git clone https://github.com/vicb/hhvm-vagrant.git $ cd hhvm-vagrant $ vagrant up
...(後続のコンテンツは元のテキストに似ていますが、文が置き換えられ、文の構造の調整が実行されて、元の意味を変えないようにすることを除きます)....
<?hh require "/vagrant/www/xhp/php-lib/init.php"; $hello = "Hello HACK!"; echo <html><title>{$hello}!</title><h1>{$hello}</h1></body></html>;
以上がHHVMとハック - PHPを置き換えることを期待できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。