「ヒップホップ仮想マシン」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''ヒップホップ仮想マシン'''(英語:HipHop Virtual Machine、通称:HHVM)とは、Facebook開発を主導している中間言語を...」)
 
 
(同じ利用者による、間の1版が非表示)
2行目: 2行目:
  
 
==概要==
 
==概要==
大雑把にいえば[[PHP]]または[[Hack]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。
+
大雑把にいえば[[PHP]]または[[Hack|Hack (プログラミング言語)]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。
 +
[[Jav]]aの[[JRE]]や[[.NET]]の[[共通言語ランタイム]]みたいなものである。
  
 
==開発の経緯==
 
==開発の経緯==
18行目: 19行目:
 
*[[コンパイラ]]より速くなった[[HHVM]]を本番環境に導入する。
 
*[[コンパイラ]]より速くなった[[HHVM]]を本番環境に導入する。
 
*:v8みたいに型推論してきた?
 
*:v8みたいに型推論してきた?
*VM言語としてTypeScriptみたいなdependent typingがあるPHP風のプログラミング言語「[[hack]]」作った。
+
*VM言語としてTypeScriptみたいなdependent typingがあるPHP風のプログラミング言語「[[Hack (プログラミング言語)]]」作った。
 
*:やべえ!
 
*:やべえ!
  
 
==関連項目==
 
==関連項目==
*[[Hack]]
+
*[[Hack (プログラミング言語)]]
  
 
==参考文献==
 
==参考文献==

2015年4月17日 (金) 10:54時点における最新版

ヒップホップ仮想マシン英語:HipHop Virtual Machine、通称:HHVM)とは、Facebook開発を主導している中間言語を動かすための仮想マシンランタイム)である。

概要[編集 | ソースを編集]

大雑把にいえばPHPまたはHack (プログラミング言語)で書かれたプログラムを動かすためのJITコンパイラ付きの仮想マシンランタイム)である。 JavaJRE.NET共通言語ランタイムみたいなものである。

開発の経緯[編集 | ソースを編集]

  • facebookを支える膨大なサーバーの台数を減らすため、PHPの実行速度を上げることを思いつく。
  • PHPC++ソースコードに変換する「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 (プログラミング言語)」作った。
    やべえ!

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]