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

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''ヒップホップ仮想マシン'''(英語:HipHop Virtual Machine、通称:HHVM)とは、Facebook開発を主導している中間言語を...」)
 
3行目: 3行目:
 
==概要==
 
==概要==
 
大雑把にいえば[[PHP]]または[[Hack]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。
 
大雑把にいえば[[PHP]]または[[Hack]]で書かれた[[プログラム]]を動かすための[[JITコンパイラ]]付きの[[仮想マシン]]([[ランタイム]])である。
 +
[[Jav]]aの[[JRE]]や[[.NET]]の[[共通言語ランタイム]]みたいなものである。
  
 
==開発の経緯==
 
==開発の経緯==

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

ヒップホップ仮想マシン英語: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」作った。
    やべえ!

関連項目

参考文献