Skip to Content
Javaパフォーマンス
book

Javaパフォーマンス

by Scott Oaks, Acroquest Technology株式会社, 寺田 佳央, 牧野 聡
April 2015
Intermediate to advanced
448 pages
6h 47m
Japanese
O'Reilly Japan, Inc.
Content preview from Javaパフォーマンス

4章JITコンパイラのしくみ

JIT(just-in-time)コンパイラはJVMにとって中心的な役割を果たしています。JVMのパフォーマンスに最も大きな影響を与えるのもコンパイラです。Java開発者とエンドユーザーの双方にとって、コンパイラを選択するというのは最初に行わなければならない選択の1つです。ただし、ほとんどの場合でコンパイラのチューニングは基本的なものだけで十分です。

この章では、JITコンパイラについて深く解説します。まずコンパイラのはたらきを紹介し、JITコンパイラのメリットとデメリットを明らかにします。次に、各バージョンのJavaで利用されているコンパイラを紹介します。これを踏まえて状況ごとに適切なコンパイラを利用することが、アプリケーションを高速に実行する上でとても重要です。最後に、コンパイラに関する中上級のチューニング方法を解説します。ここでのチューニングが、アプリケーションのパフォーマンスをさらに数パーセント向上させることにつながるでしょう。

4.1 JITコンパイラの概要

まずは入門的な事柄から始めたいと思います。JITコンパイルの基礎についてすでに知っているというなら、読み飛ばしてもかまいません。

コンピューター(より正確にはCPU)は、アセンブリまたはバイナリコードと呼ばれる少数の命令しか実行できません。したがって、CPU上でプログラムを実行するためにはこれらの命令へとプログラムを変換する必要があります。

C++やFortranなどはコンパイラ型言語と呼ばれます。これらの言語を使ったプログラムは、コンパイルされたバイナリコードという形で提供されます。開発者が記述したプログラムを元に、静的コンパイラがバイナリを生成します。このバイナリに含まれているアセンブリのコードは、ターゲットとするCPUの種類ごとに異なります。互換性のあるCPUでは、同じバイナリを実行できます。例えばAMDとIntelのCPUの間では、基本的なアセンブリ言語は共通です。また、新しいバージョンのCPUは以前のCPUでの命令をほぼすべて実行できます。しかし、この逆は正しくありません。新しいCPUはしばしば、古いCPUでは実行できないような命令を取り入れています。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

パフォーマンス向上のためのデザイン設計

パフォーマンス向上のためのデザイン設計

Lara Callender Hogan, 西脇 靖紘, 星野 靖子
初めてのSQL 第3版

初めてのSQL 第3版

Alan Beaulieu, 株式会社クイープ
プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
Python機械学習クックブック

Python機械学習クックブック

Chris Albon, 中田 秀基

Publisher Resources

ISBN: 9784873117188Other