ソースコードや中間コードを、必要になったときにコンパイルするタイプのコンパイラのことです。
実行しようとするコードが必要になったそのとき(Just In Time)に、対象の比較的小さな範囲内(関数やクラスなど)だけをコンパイルします。このようなコンパイル方法を JITコンパイルと呼びます。
仮想マシンやインタプリタを用いて、ソースコードや中間コードをオブジェクトコードに変換して実行する方法を採るプログラミング言語において、実行速度を向上させるために導入されていることが多いです。このような構成にすることで、特定の OS や CPU などに依存しないコードのまま配布することができ、それでいて事前にコンパイルを行う言語に近い実行性能を実現します。たとえば、Java は仮想マシンを用いる仕組みですが、当初は実行性能の遅さに欠点がありました。しかし、JITコンパイラの導入や、その改善などによって、現在では実行性能は大きく向上しています。
JITコンパイラとの対比で、実行前にあらかじめすべてのコンパイルを済ませておくタイプのコンパイラを、AOTコンパイラ(事前コンパイラ)と呼ぶことがあります(AOT は Ahead-Of-Time の略)。C言語のコンパイラのように、こちらの方式が一般的である場合には、わざわざ AOTコンパイラとは呼ばずに、単にコンパイラと呼ぶことがほとんどです。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |