1

マイクロベンチマークから呼び出されたすべてのメソッドのうち、特定の 1 つのメソッドのみを測定するようにJMHに指示する方法があるかどうかを確認したいと思います。

単体テストをベースとして使用してマイクロベンチマークの作成を自動化したいので、手動でマイクロベンチマークを作成する必要はありません。私の研究では、パフォーマンスに影響を与えることを期待して、いくつかの自動変更を行う大規模なコードベースがあります。これまでのところ、コード内で 1200 箇所が変更されています。変換を行い、変換の影響を自動的に測定するフレームワークを提供したいので、自動化が必要です。

ここでJMH:解決策が提供される内部メソッド時間を考慮しないでください。

4

1 に答える 1

2

マイクロベンチマークではないため、できません。

マイクロベンチマークは、データの準備、選択した方法/システムへのデータの供給、エンドツーエンドのメトリックの測定など、正確な環境設定が与えられた場合に、(分離された) コード セグメント全体のパフォーマンス特性を測定することを意味します。それが JMH の運命でした: ペイロードは でマークされており@Benchmark、分割できないように測定されており、セットアップと分解作業を段階的に廃止する可能性があります。

とにかく、他の実行中のペイロード メソッドの中で選択されたペイロード メソッドを測定することは、せいぜい混乱するだけです。システムで他に何が起こっているのかを知らなければ、それらの個々のメトリックは何も教えてくれません。つまり、個々のパーツがメトリクスに与える影響を分析できるプロファイリング手段が必要です。これは、プロファイラーとアプリケーション パフォーマンス管理システムがやるべきことです。

于 2015-09-10T12:33:11.067 に答える