JITコンパイラ
実行時に中間コードからネイティブマシンコード(各プラットフォームの機械語)にコンパイルすることで、プログラムの実行速度を高速化させるコンパイラ
インタプリタとの違い
インタプリタは都度コードを解釈しながら実行する
JITコンパイラでは実行時にコンパイルを行い、メモリ上に生成された機械語が実行される
メリット
実行環境知った上でそれに応じた生成コードの選択や最適化が可能
デメリット
変換後のコードを保持しておく必要があるため、メモリ消費量が増える
完全な最適化を行うのが難しい局面がある
最適化レベルを上げるとコンパイルのコストが高くなる