「ヒップホップ仮想マシン」の版間の差分
ナビゲーションに移動
検索に移動
(→概要) |
|||
2行目: | 2行目: | ||
==概要== | ==概要== | ||
− | 大雑把にいえば[[PHP]]または[[Hack]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。 | + | 大雑把にいえば[[PHP]]または[[Hack|Hack (プログラミング言語)]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。 |
[[Jav]]aの[[JRE]]や[[.NET]]の[[共通言語ランタイム]]みたいなものである。 | [[Jav]]aの[[JRE]]や[[.NET]]の[[共通言語ランタイム]]みたいなものである。 | ||
19行目: | 19行目: | ||
*[[コンパイラ]]より速くなった[[HHVM]]を本番環境に導入する。 | *[[コンパイラ]]より速くなった[[HHVM]]を本番環境に導入する。 | ||
*:v8みたいに型推論してきた? | *:v8みたいに型推論してきた? | ||
− | *VM言語としてTypeScriptみたいなdependent typingがあるPHP風のプログラミング言語「[[ | + | *VM言語としてTypeScriptみたいなdependent typingがあるPHP風のプログラミング言語「[[Hack (プログラミング言語)]]」作った。 |
*:やべえ! | *:やべえ! | ||
==関連項目== | ==関連項目== | ||
− | *[[Hack]] | + | *[[Hack (プログラミング言語)]] |
==参考文献== | ==参考文献== |
2015年4月17日 (金) 10:54時点における最新版
ヒップホップ仮想マシン(英語:HipHop Virtual Machine、通称:HHVM)とは、Facebookが開発を主導している中間言語を動かすための仮想マシン(ランタイム)である。
概要[編集 | ソースを編集]
大雑把にいえばPHPまたはHack (プログラミング言語)で書かれたプログラムを動かすためのJITコンパイラ付きの仮想マシン(ランタイム)である。 JavaのJREや.NETの共通言語ランタイムみたいなものである。
開発の経緯[編集 | ソースを編集]
- 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 (プログラミング言語)」作った。
- やべえ!