Skip to Content
Javaの最適化
book

Javaの最適化

by Benjamin J. Evans, James Gough, Chris Newland
March 2025
Intermediate to advanced
440 pages
6h 29m
Japanese
O'Reilly Media, Inc.
Content preview from Javaの最適化

第5章 マイクロベンチマークと統計 マイクロベンチマークと統計

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、Javaの性能数値を直接測定する具体的な方法について考える。 JVMの動的な性質は、性能数値が多くの開発者が期待するよりも扱いにくいことが多いことを意味する。その結果、インターネット上には不正確な、あるいは誤解を招くような性能数値が多く出回っている。

本章の主な目的は、このような落とし穴の可能性を認識し、自分や他の人が信頼できるパ フォーマンス数値のみを作成するようにすることである。特に、Javaコードの小片の測定(マイクロベンチマーク)は、微妙で正しく行うのが難しいことで有名であり、このテーマとパフォーマンス・エンジニアによる適切な使い方は、この章を通しての主要なテーマである。

第一の原則は、自分自身を欺いてはならないということだ。

リチャード・ファインマン

章の第2部では、マイクロベンチマーキングツールの金字塔の使い方を説明する:JMHである。もし、警告や注意書きがあったとしても、あなたのアプリケーションやユースケースがマイクロベンチマークを使う価値があると思うのであれば、利用可能なツールの中で最も信頼性が高く、先進的なものから始めることで、よく知られている多くの落とし穴や「熊の罠」を避けることができる。

最後に、統計の話題に移ろう。JVMは日常的に、やや慎重な取り扱いを必要とするパフォーマンス・ナンバーを生成する。マイクロベンチマークによって生成される数値は、通常、特に敏感であるため、観察された結果をある程度統計的に精巧に扱うことが、パフォーマンス・エンジニアに課せられた義務である。この章の最後のセクションでは、JVM性能データを扱うためのテクニックと、データのインタプリタに関する問題について説明する。

Javaパフォーマンス測定入門

Javaパフォーマンス概要」では、パフォーマンス分析とは、基本的に実験的な科学である学問分野をもたらした、技術のさまざまな側面の総合であると説明した。

つまり、良いベンチマーク(またはマイクロベンチマーク)を書きたいのであれば、それを科学実験のように考えることは非常に役に立つ。

このアプローチは、ベンチマークを "ブラックボックス "と見なすことにつながる。ベンチマークには入力と出力があり、そこから推測や推論ができるデータを収集したいのである。しかし、慎重でなければならない-単にデータを収集するだけでは十分ではない。データに惑わされないようにする必要がある。

ベンチマークの数字はそれだけでは重要ではない。その数字からどのようなモデルを導き出すかが重要なのだ。

アレクセイ・シピルёフ

つまり、可能な限りシステムの1つの側面だけを変更し、ベンチマークに含まれるその他の外部要因を確実に制御することである。理想的な世界では、システムの他の変更可能な側面は、テスト間で完全に不変であるべきだが、実際にはそれほど幸運なことはめったにない。

注

科学的に純粋で公正なテストという目標が実際には達成できないとしても、少なくともベンチマークが再現可能であることは不可欠である。

Javaプラットフォーム用のベンチマークを書く際の中心的な問題の1つは、Javaランタイムの高度さである。本書のかなりの部分は、JVMによって開発者のコードに適用される自動最適化の説明に費やされている。このような最適化の文脈で、ベンチマークを科学的テストとして考えると、選択肢は限られてくる。 ...

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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ネットワークとKubernetes

ネットワークとKubernetes

James Strong, Vallery Lancey
ファストAPI

ファストAPI

Bill Lubanovic

Publisher Resources

ISBN: 9798341636446