ホームページ > バックエンド開発 > PHPチュートリアル > HHVMとハック - PHPを置き換えることを期待できますか?

HHVMとハック - PHPを置き換えることを期待できますか?

Lisa Kudrow
リリース: 2025-02-22 09:56:10
オリジナル
619 人が閲覧しました

HHVM and Hack - Can We Expect Them to Replace PHP?

コアポイント

  • HHVM(HIPHOP仮想マシン)およびFacebookが開発したハックプログラミング言語は、PHPの実行速度とメモリ効率を改善し、メモリの使用量が増加すると言われています。半分。
  • ハックは、PHP言語の改善されたバージョンです。完全にHHVM互換性があり、Facebookのすべての生産サーバーに適用されます。
  • Hackは、PHPアレイと同じ機能を持つベクターやMAPなどのコレクションタイプを導入しますが、よりフレンドリーなオブジェクト指向のインターフェイスを提供します。また、閉鎖の略語であるラムダの表現もサポートしています。
  • Hackのタイプシステムは、プログラミングエラーを早期に検出し、より速いコードを生成するように設計されています。静的にタイプされ、スカラータイプをサポートし、一般的なプログラミングをサポートし、専用のアレイとカスタムタイプを作成できます。

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の問題のほとんどを修正しながら、静的タイピングなどの新しい機能を追加するように設計されています。

ハックの初心者

現時点ですべてのツールとドキュメントが公開されているわけではありません。ただし、最新のHHVMソースコードはすでにハックをサポートしています。 Vagrant Virtual Machineをインストールして、ハックの実験を開始し、この記事でコードスニペットを実行できます。

最初のハックプログラムを書くことができます:
# 确保你的机器上已安装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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート