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へオープンソースとして適用されることで、ほかのサーバサイドのスクリプティング言語でも似たような動きが始まるかもしれません。

Tags: プログラミング言語 Facebook PHP オープンソース

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly




タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本