Java 中的最大和最小时间基准与 JMH

Max and min time benchmark in Java with JMH

我想编写一个基准来跟踪执行某些 Java 代码所需的最大、最小和平均时间。

我了解了 JMH(Java Microbenchmark Harness),它似乎符合我的需求,但我不太确定我应该使用哪种模式:

什么模式可以提供最短和最长时间?是否有更多的模式,或者是否有其他框架来完成这项工作?

如果您 运行 您的 @Benchmark@BenchmarkMode(Mode.AverageTime),作为奖励,您将得到如下输出:

Result "StopAllBenchmarks.measureRight":
 2.387 ±(99.9%) 0.307 ns/op [Average]
 (min, avg, max) = (2.339, 2.387, 2.526), stdev = 0.080
 CI (99.9%): [2.079, 2.694] (assumes normal distribution)

注意 min, avg, max