Java 関数のパフォーマンスをベンチマークする方法は、Java Microbenchmark Suite (JMH) を使用することです。具体的な手順は次のとおりです。 JMH 依存関係をプロジェクトに追加します。ベンチマーク メソッドを表す @State アノテーションを付けた新しい Java クラスを作成します。クラス内にベンチマーク メソッドを記述し、 @Benchmark アノテーションを付けます。 JMH コマンド ライン ツールを使用してベンチマークを実行します。
ベンチマークを使用した Java 関数のパフォーマンスの評価
はじめに
ベンチマークとはコードのパフォーマンスを評価する重要な方法です。ベンチマークを実行すると、さまざまなコード実装の実行時間を比較して、情報に基づいた最適化の決定を行うことができます。この記事では、JMH (Java Microbenchmark Suite) を使用して Java 関数のベンチマークを行う方法について説明します。
JMH によるベンチマーク
JMH は、Java の人気のあるベンチマーク ライブラリです。ベンチマークを簡単に作成して実行するための注釈と API を提供します。
JMH をベンチマークに使用するには、次の手順を実行します。
<dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>1.33</version> </dependency>
@State
の注釈を付けて、ベンチマーク メソッドが含まれていることを示します。例: @State(Scope.Benchmark) public class MyBenchmark { // 初始化测试数据 @Setup public void setup() { // ... } // 基准测试方法 @Benchmark public void myFunction() { // ... } }
jmh MyBenchmark
実践的なケース
整数のリストを追加する Java 関数 myFunction
を考えてみましょう。この関数のベンチマークを行うベンチマーク クラスは次のとおりです。
import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Scope; import java.util.List; import java.util.stream.IntStream; @State(Scope.Benchmark) public class MyBenchmark { // 测试数据 private List<Integer> numbers; @Setup public void setup() { numbers = IntStream.rangeClosed(0, 1000000).boxed().toList(); } @Benchmark public int myFunction() { int sum = 0; for (int number : numbers) { sum += number; } return sum; } }
ベンチマークを実行すると、平均実行時間、標準偏差、スループットなどのパフォーマンス メトリクスが得られます。これらのメトリクスは、コードのパフォーマンスを分析し、改善すべき領域を特定するのに役立ちます。
以上がベンチマークを使用して Java 関数のパフォーマンスを評価するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。