実行時コンパイラ
(ジャストインタイムコンパイル から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/20 08:26 UTC 版)
実行時コンパイラ(じっこうじコンパイラ、just-in-time compiler、JITコンパイラ)とは、ソフトウェアの実行時にソースコードをコンパイルするコンパイラのこと。通常のコンパイラはコンパイルを実行前に事前に行い、これをJITと対比して事前コンパイラ (ahead-of-timeコンパイラ、AOTコンパイラ)と呼ぶ。
- 1 実行時コンパイラとは
- 2 実行時コンパイラの概要
- 3 概要
- 4 応用
- 5 外部リンク
ジャストインタイムコンパイル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/14 21:52 UTC 版)
「Javaの性能」の記事における「ジャストインタイムコンパイル」の解説
「実行時コンパイラ」および「HotSpot」を参照 初期のJava仮想マシンはバイトコードのインタプリタであり、このことが性能に対する大きな足かせ(平均的なアプリケーションで、Java対Cで10〜20倍程度)になっていた。 Java 1.1で JIT コンパイラが導入された。 Java 1.2でHotSpotと呼ばれる技術が導入された。これは、Java仮想マシンがプログラムの頻繁に実行される箇所、「ホットスポット」の性能解析を実行中に実行し続けるもので、解析した情報は最適化に利用して、他のパフォーマンスに影響のないコードには余分な負荷をかけることなく、性能を向上させることができる。 Java 1.3でHotSpotが標準で用いられるようになった。 HotSpot技術により、コードはまずインタプリタ実行され、「ホットスポット」が動的にコンパイルされる。Javaの性能測定においてベンチマークをとる前にプログラムを数回実行させる必要があるのはこのためである。 HotSpotによるコンパイルではインライン展開、ループ展開、境界チェックの省略、アーキテクチャ固有のレジスタ割り付けなどの様々な最適化手法が用いられる。ベンチマークによってはこうした手法により10倍の性能向上が見られる。
※この「ジャストインタイムコンパイル」の解説は、「Javaの性能」の解説の一部です。
「ジャストインタイムコンパイル」を含む「Javaの性能」の記事については、「Javaの性能」の概要を参照ください。
- ジャストインタイムコンパイルのページへのリンク