A new PHP execution engine based on the HipHop language runtime that we call the HipHop Virtual Machine

FacebookからPHP実行環境に関する最新技術「HipHop仮想マシン」が発表された。HipHop仮想マシン(hhvm)は実行時に動的にコードをバイナリコードへ変換することでPHPの実行速度を引き上げるというもの。Facebookは自社サービスの開発に主にPHPを採用しており、hhvmはサービスの開発からデプロイまで全域に渡って効率化を実現できる技術として注目されている。同社のサービスインフラにおけるhhvmの採用は広がっており、将来的にはhhvmが主要なPHP実行環境として利用されるものと見られる。

Facebookは2010年2月には「HipHop for PHP」と呼ばれる取り組みを発表している。これはPHPのソースコードを最終的にC++のソースコードへ変換してコンパイルする技術で、PHPのソースコードから高速に実行可能なランタイムバイナリを生成する技術として注目された。今回発表されたhhvmはこの技術を活用しながら実行時に動的にバイナリを生成する点が大きな違いとなる。

実行速度やメモリ消費量の面でhhvmにはまだ改善の余地があるようだが、デプロイのみならず開発効率も引き上げるとあってFacebookにおける注目度は高いようだ。hhvmであればPHPのソースコードを編集してすぐに動作を確認することができる。トライ&エラーの取り組みが簡単だ。これが一旦コンパイルを必要とするHipHop for PHP (hphpc/hphpi)では毎回数秒から十数秒、コンパイルが完成するまで待たなければならない。開発時に発生するこの待ち時間は効率を低下させる要因として十分なものだ。

hhvmはデプロイするだけで効果が期待できることから、扱いやすい状態でOSSとして公開された場合には広く普及する可能性がある。関連コードはすでにGitHubにおいてfacebook / hiphop-phpとして公開されている。今後の展開が注目される取り組みと言える。