PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開

2011年12月12日

Facebookは10日、PHPを高速に実行する仮想マシン「HipHop Virtual Machine」(hhvm)を公開しました

The HipHop Virtual Machine

HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換してg++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHPのインタプリタであるHipHop interpreter (hphpi)を組み合わせたもの。PHPのコードをダイナミックにバイナリコードへと変換することで、高速な実行を目指しています。

コンパイラと同等以上の実行速度へ

HipHopはFacebookが開発し、オープンソースとして公開しています。今回のHipHop Virtual Machineも、これらの開発の延長線上にあるものです。

Our experiences with hphpc led us to start experimenting with dynamic translation to native machine code, also known as just-in-time (JIT) compilation.

HipHop compilerでの経験が、JITコンパイルと呼ばれるダイナミックなネイティブコードへの変換を行う実験的な実装のスタートとなった。

現在、HipHop Virtual Machineの実行速度は、インタプリタに比べれば1.6倍速く、一方でコンパイラと比べると0.6倍程度とのこと。しかしいずれはコンパイラと同等以上の実行速度が出るとFacebookでは予想しているようです。

We expect hhvm to rapidly close the performance gap with hphpc-compiled binaries over the coming months as the dynamic translator stabilizes and matures. In fact, we predict that hhvm will eventually outperform statically compiled binaries in Facebook's production environment,

hphpcによってコンパイルされたバイナリとhhvmとの性能の差は、ダイナミックトランスレーターが安定し完成度が高まることで、数カ月程度で急速に縮まるでしょう。実際のところ、hhvmは最終的にはFacebookの実環境で稼働しているコンパイルされたバイナリよりも高速になると予想しています。

Facebookは今後、PHPの実行をすべてHipHop Virtual Machineへ移行することを計画しています。

プログラミング言語をダイナミックにネイティブコードへ変換することで高速な実行を実現するJITコンパイラは、Java VMや.NETなどで使われ、最近ではJavaScriptの実行系でも実装されはじめています。これがPHPへオープンソースとして適用されることで、ほかのサーバサイドのスクリプティング言語でも似たような動きが始まるかもしれません。

このエントリーをはてなブックマークに追加
Bookmark this on Delicious

タグ : Facebook , PHP , オープンソース , スクリプト言語

≫次の記事
パネルディスカッション「Flashエンジニアが今後10年食べていくには?」
≪前の記事
Node.jsの最新版が中国のファイアウォールにブロックされたらしい

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


新サイト「Publickey Topics」始めました!


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 「Meteor」は、JavaScript/H…
  2. PhoneGapを使ったモバイルアプリのネイ…
  3. Red HatのPaaS基盤「OpenShi…
  4. インメモリデータベースは将来のデータベースア…
  5. システム・ソフトウエア開発業者の倒産動向、2…
  6. 連載マンガ:Mr.Admin BIOS画面が…
  7. PR:HTML5/JavaScriptで企業…
  8. アプリケーションプラットフォームに進出するV…
  9. OpenFlow 1.3がOpen Netw…
  10. アドビ、オープンソースのHTMLエディタ「B…
  11. Windows Azureに関する「非常に重…
  12. PR: IIJのクラウドストレージは「技術的…
  13. 次世代の不揮発性メモリMRAM、ReRAMな…
  14. 日本IBM、基幹業務向け運用管理を付加したI…
  15. Publickey Smart Editio…

Publickey 最新記事 10本

Publickey Topics 最新記事 10本

バックナンバー



アルファブロガー・アワード2010受賞 Publickeyはアルファブロガー・アワード 2010を受賞しました! いつもご愛読ありがとうございます。









blog comments powered by Disqus