読み方 : ジェーアイティーコンパイラ / ジットコンパイラ
JITコンパイラ【Just-In-Time compiler】実行時コンパイラ/ジャストインタイムコンパイラ
概要

プログラムの実行方式には大きく二つある。ソースコードを1行ずつ解釈しながら実行する「インタプリタ」を用いる方式と、配布前に一括して機械語へ変換する「コンパイラ」を用いる方式である。JITコンパイラはこの中間に位置し、実行の直前または実行中に必要なコードをまとめて機械語へ変換する。
JavaやC#(.NET)のような言語では、プログラムをCPUやオペレーティングシステム(OS)に依存しない中間コードの形式で配布する。実行時には仮想マシン(VM)に組み込まれたJITコンパイラが、その環境に適した機械語へ変換して実行する。インタプリタ方式と比べて解釈処理の負荷が減り、事前にコンパイルされたプログラムに近い速度で動作する。
この仕組みはインタプリタ型言語にも応用されている。JavaScriptエンジンの「V8」やPythonの実装の一つである「PyPy」がその例で、頻繁に実行される処理(ホットスポット)を実行中に特定し、その部分を機械語へ変換することで実行速度を高める。変換に使った機械語はメモリ上に保持され、以降の呼び出しでは変換済みのコードが再利用される。
欠点として、起動時または初回実行時に変換処理の分だけ遅延が生じることや、変換後の機械語をメモリ上に保持するためメモリ消費量が増加すること、実行時間の制約から事前コンパイルほど高度な最適化を施しにくいことが挙げられる。ただし、実行時に収集した実際の動作情報を基に最適化を行う技術も発展しており、事前コンパイルでは得られない効率的なコードを生成できる場合もある。
(2026.6.16更新)