Just-In-Time Compilation
JIT(Just-In-Time Compilation、実行時コンパイル)は、実行時にホットなコードを機械語へコンパイルする。インタプリタの柔軟性とコンパイラの性能を兼ね備える。
目的
解釈実行を実行時に最適化し、ホットスポットを適応的に最適化する。
メカニズム
まず解釈実行しながらプロファイリングデータを収集する。ホットなメソッド/ループが JIT コンパイルで機械語化される。V8 TurboFan、PyPy、HotSpot JVM が JIT を使う。前提が崩れると脱最適化してインタプリタへ戻る。
ユースケース
- 言語ランタイム
- パフォーマンス最適化
- 適応的コンパイル