ヒップホップ仮想マシン
概要
開発の経緯
- 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」作った。
- やべえ!