コンテンツへスキップ
uencoder

Just-In-Time Compilation

JIT(Just-In-Time Compilation、実行時コンパイル)は、実行時にホットなコードを機械語へコンパイルする。インタプリタの柔軟性とコンパイラの性能を兼ね備える。

目的

解釈実行を実行時に最適化し、ホットスポットを適応的に最適化する。

メカニズム

まず解釈実行しながらプロファイリングデータを収集する。ホットなメソッド/ループが JIT コンパイルで機械語化される。V8 TurboFan、PyPy、HotSpot JVM が JIT を使う。前提が崩れると脱最適化してインタプリタへ戻る。

ユースケース

  • 言語ランタイム
  • パフォーマンス最適化
  • 適応的コンパイル

関連用語

References