メインメニューを開く

差分

ヒップホップ仮想マシン

1,804 バイト追加, 2015年4月17日 (金) 10:51
ページの作成:「'''ヒップホップ仮想マシン'''(英語:HipHop Virtual Machine、通称:HHVM)とは、Facebook開発を主導している中間言語を...」
'''ヒップホップ仮想マシン'''([[英語]]:HipHop Virtual Machine、通称:HHVM)とは、[[Facebook]]が[[開発]]を主導している[[中間言語]]を動かすための[[仮想マシン]]([[ランタイム]])である。

==概要==
大雑把にいえば[[PHP]]または[[Hack]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。

==開発の経緯==
*facebookを支える膨大な[[サーバー]]の台数を減らすため、[[PHP]]の実行速度を上げることを思いつく。
*[[PHP]]を[[C++]]の[[ソースコード]]に変換する「[[HipHop PHP]]」という[[トランスレーター]]を開発して導入する。
*:APC付きのPHPとあまり速度変わらないようにみえた。
*[[HipHop PHP]]は開発環境では毎回[[コンパイル]]してると時間がかかるし、既存のPHPと完全互換ではないので[[HipHop PHP]]互換インタプリタ「[[HPHPi]]」を開発する。標準のPHPよりもかなり遅いw
*:普通に本番環境も開発環境もAPC付きのPHPでいいんじゃね?
*[[インタプリタ]]の代わりになりPHPとある程度互換性のある[[JIT]]付きの[[仮想マシン]]「[[HHVM]]」を作り始める。
*:APC(ry
*[[HHVM]]を開発環境に導入する。
*:APC(ry
*PHPパーサーを使って型チェッカーを作り利用し始める。
*:そいつはありがてぇ
*[[コンパイラ]]より速くなった[[HHVM]]を本番環境に導入する。
*:v8みたいに型推論してきた?
*VM言語としてTypeScriptみたいなdependent typingがあるPHP風のプログラミング言語「[[hack]]」作った。
*:やべえ!

==関連項目==
*[[Hack]]

==参考文献==
{{reflist}}

{{stub}}
匿名利用者