3

ローカルデータベースとリモートデータベースへの複数の呼び出しを含む Java コードのマイクロベンチマークを計画しています。私は System.nanoTime() を使用しようとしていましたが、jmh や caliper などのマイクロ ベンチマーク フレームワークについて読み始めました。これらのフレームワークの使用は間違いなく推奨されますが、私が読んだ(ほとんど)ものから、完全な方法のみをベンチマークすることができ、非侵襲的に(既存のコードに対して)これを行うことができるようです。つまり、既存のコードを捨てる必要はありませんjmh/caliper のコード/注釈付き。

一部のメソッド内の特定のコード (ステートメント) のみをベンチマークしたいと考えています。マイクロベンチマークフレームワークでこれを行うことは可能ですか? これについていくつかの洞察を提供してください。

4

2 に答える 2

0

codehale のメトリクスを試すことができます。特定の構成で使用している場合、つまり指数関数的に減衰する貯水池を使用している場合、使いやすく、オーバーヘッドが低いことがわかりました。

マイクロレベルで正確なベンチマークには、関連するコストが伴います。つまり、サンプリングのための実行時のメモリオーバーヘッド、ベンチマーク自体が計算と統計の生成に時間がかかる場合があります(理想的なものは、統計からそれを相殺するでしょう)。しかし、非常に頻繁にすべきではないと思われるデータベース接続をベンチマークしたい場合は、メトリックが適切かもしれません。使いやすいことがわかりました。はい、少し侵襲的ですが、構成可能です。

于 2014-06-13T01:27:12.157 に答える