JITコンパイラ

出典: くみこみックス

2008年12月25日 (木) 03:53; S hira (会話 | 投稿記録) による版
(差分) ←前の版 | 最新版を表示 (差分) | 次の版→ (差分)

JIT(Just-in-time)コンパイラ

 プログラムのソース・コードを実行時にCPUが実行可能なネイティブ・コードへ変換していくコンパイラ.代表的な実装事例に,Webブラウザに組み込まれたJava言語処理系やMicrosoft社の.NET系の言語(VisualBasic,C#,C++)などがある.ただし,厳密には.NETでは,通常のコンパイル処理で中間言語を生成し,これを実行時にJITコンパイラで処理する.ソース・コードを逐次解釈しながら実行するインタプリタに比べ,JITコンパイラではネイティブ・コードへの変換処理に若干のオーバヘッドが生じる.しかし,大半のプログラムは,結果的にインタプリタに比べて全体の処理時間が短縮されることが多い.一方,コード変換時のオーバヘッドを最小限に抑えるため,最適化処理などは比較的簡略化される.そのため,高度な最適化処理を経てソース・コードをネイティブ・コードに変換するコンパイラと比べると,最適化レベルの違いにより実行処理速度は遅くなる.つまり,JITコンパイラは,インタプリタとコンパイラの中間的な性能であると言える.JITコンパイラ技術の応用例として,Transmeta社のx86互換CPUのCrusoeがある.このCPUでは,VLIW(Very Long Instruction Word)アーキテクチャによる独自のネイティブ・コードへJITコンパイラがx86コードを変換しながら動作する.なお,Crusoeは,このJITコンパイラのことをコード・モーフィングと呼んでいる.

【出典】Interface編集部 編;組み込み技術用語集,Interface 2007年8月号 別冊付録,CQ出版社,2007年8月.

表示