1. ホーム
  2. compilation

[解決済み] JIT(ジャストインタイム)コンパイラとは、どのようなものですか?

2022-03-17 09:21:38

質問

JITコンパイラは、非JITコンパイラと比較して、具体的に何をするのでしょうか?どなたか、簡潔でわかりやすい説明をお願いします。

どのように解決するのですか?

JITコンパイラの実行 プログラムが開始されると、コード(通常はバイトコードまたはある種のVM命令)を、通常より高速な形式、通常はホストCPUのネイティブ命令セットにオンザフライ(またはジャストインタイムと呼ばれる)コンパイルします。JITは、標準的なコンパイラが持たない動的な実行時情報へのアクセスを持っており、頻繁に使用される関数のインライン化など、より良い最適化を行うことができます。

これは、従来のコンパイラが、コンパイル時に すべて 機械語へのコード 以前 プログラムが最初に実行される

言い換えれば、従来のコンパイラは、最初に実行する前に、プログラム全体をEXEファイルとして構築してしまうのです。新しいスタイルのプログラムでは、擬似コード(p-code)でアセンブリを生成します。OS上でプログラムを実行(アイコンをダブルクリックするなど)して初めて、(JIT)コンパイラが起動し、インテルベースのプロセッサなどが理解できるマシンコード(mコード)が生成されるのです。