レジスタ割付の改善
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/14 21:52 UTC 版)
「Javaの性能」の記事における「レジスタ割付の改善」の解説
Java 6以前では、「クライアント」仮想マシンにおけるレジスタ割り付けはかなり初歩的なもので(ブロックを超えてレジスタが生存できない)、これは例えばx86のようなレジスタが少ないアーキテクチャで問題となる。ある操作に必要なレジスタが足りなくなると、コンパイラはレジスタからメモリ(ないしはメモリからレジスタ)に値をコピーするが、メモリは通常レジスタより低速なので、通常より時間がかかる。なお「サーバ」仮想マシンではグラフ彩色によるレジスタ割り付けを行うため、こうした問題は生じない。 レジスタ割り付けの最適化はサンのJDK 6で導入された。これは同じレジスタを、可能な場合コードブロックをまたがって使用することでメモリアクセスを減らすもので、報告によればいくつかのベンチマークで約60%の性能向上が得られた。
※この「レジスタ割付の改善」の解説は、「Javaの性能」の解説の一部です。
「レジスタ割付の改善」を含む「Javaの性能」の記事については、「Javaの性能」の概要を参照ください。
- レジスタ割付の改善のページへのリンク