ソースコードや中間コードを、実行を開始するより前にコンパイルするタイプのコンパイラのことです。
C言語などのコンパイラは、実行前にコンパイル(およびリンク)を済ませて、実行可能ファイルを生成する方式が一般的です。AOTコンパイラは、このような方式のコンパイラのことですが、C言語のように、この方式を採ることが当然となっている場合には単にコンパイラと呼ぶことがほとんどです。AOTコンパイラという呼び方は、JITコンパイラとの対比として使われることが多いです。
JITコンパイラは、ソースコードや中間コードを、実行時にコンパイルするタイプのコンパイラのことです。主に、仮想マシンやインタプリタを用いて、ソースコードや中間コードをオブジェクトコードに変換して実行する方法を採るプログラミング言語で使われます。
AOTコンパイラは、実行効率を最大限よくするために用いられます。仮想マシンやインタプリタを用いるようなプログラミング言語において、AOTコンパイラは、ソースコードから中間コードを生成したあと、機械語のオブジェクトコードを生成するように用いられます。JITコンパイラも実行効率を向上させる目的がありますが、実行時にコンパイルを行うという仕組みであるため、コンパイルにかかる時間によって相殺されることになりますから、AOTコンパイラの方が効率が良くなるのが普通です(JITコンパイラならば、実行環境の性能や機能に応じた最適化をかけられる可能性があるため、一概にはいえないが)。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |