読み方 : ジェーアイティーコンパイラ / ジットコンパイラ

JITコンパイラ【Just-In-Time compiler】実行時コンパイラ/ジャストインタイムコンパイラ

概要

JITコンパイラとは、プログラミング言語の実行環境に備わる機能の一つで、ソースコードや中間コードを機械語へ変換する処理を実行時に行うもの。プラットフォーム非依存のプログラム配布と高い実行速度を両立する手段として、様々な言語や実行環境で採用されている。
JITコンパイラのイメージ画像

プログラムの実行方式には大きく二つある。ソースコードを1行ずつ解釈しながら実行する「インタプリタ」を用いる方式と、配布前に一括して機械語へ変換する「コンパイラ」を用いる方式である。JITコンパイラはこの中間に位置し、実行の直前または実行中に必要なコードをまとめて機械語へ変換する。

JavaやC#(.NET)のような言語では、プログラムをCPUやオペレーティングシステム(OS)に依存しない中間コードの形式で配布する。実行時には仮想マシン(VM)に組み込まれたJITコンパイラが、その環境に適した機械語へ変換して実行する。インタプリタ方式と比べて解釈処理の負荷が減り、事前にコンパイルされたプログラムに近い速度で動作する。

この仕組みはインタプリタ型言語にも応用されている。JavaScriptエンジンの「V8」やPythonの実装の一つである「PyPy」がその例で、頻繁に実行される処理(ホットスポット)を実行中に特定し、その部分を機械語へ変換することで実行速度を高める。変換に使った機械語はメモリ上に保持され、以降の呼び出しでは変換済みのコードが再利用される。

欠点として、起動時または初回実行時に変換処理の分だけ遅延が生じることや、変換後の機械語をメモリ上に保持するためメモリ消費量が増加すること、実行時間の制約から事前コンパイルほど高度な最適化を施しにくいことが挙げられる。ただし、実行時に収集した実際の動作情報を基に最適化を行う技術も発展しており、事前コンパイルでは得られない効率的なコードを生成できる場合もある。

(2026.6.16更新)
 

他の辞典等による「JITコンパイラ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。