ジャストインタイム(JIT)コンパイラーは何をしますか?質問する

ジャストインタイム(JIT)コンパイラーは何をしますか?質問する

JIT コンパイラは、非 JIT コンパイラと比べて具体的に何を行うのでしょうか? 簡潔でわかりやすい説明をしてくれる人はいますか?

ベストアンサー1

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

これは、プログラムが最初に実行される前にすべてのコードをマシン語にコンパイルする従来のコンパイラとは対照的です。

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

おすすめ記事