JMH常用方式

常用注解

@Benchmark
测试的方法的注解

@Warmup
@Measurement
@BenchmarkMode
都是配置注解 @State 运行的参数注解 @Setup 配套@State使用,指定初始化的方法 @TearDown 防止数值溢出的方法

调用方式

在 Main 方法中,通过 org.openjdk.jmh.runner.Runner 类去运行 org.openjdk.jmh.runner.options.Options 实例即可。这里的重点在于 Options 对象的构建。官方提供了一个OptionsBuilder对象去构建。这个 Builder对象是流式的。它的常用方法及对应的注解形式如下:

方法名参数作用对应注解
include 要运行基准测试类的简单名称 eg. StringConnectBenchmark 指定要运行的基准测试类 -
exclude 不要运行基准测试类的简单名称 eg. StringConnectBenchmark 指定不要运行的基准测试类 -
warmupIterations 预热的迭代次数 指定预热的迭代次数 @Warmup
warmupBatchSize 预热批量的大小 指定预热批量的大小 @Warmup
warmupForks 预热模式:INDI,BULK,BULK_INDI 指定预热模式 @Warmup
warmupMode 预热的模式 指定预热的模式 @Warmup
warmupTime 预热的时间 指定预热的时间 @Warmup
measurementIterations 测试的迭代次数 指定测试的迭代次数 @Measurement
measurementBatchSize 测试批量的大小 指定测试批量的大小 @Measurement
measurementTime 测试的时间 指定测试的时间 @Measurement
mode 测试模式: Throughput(吞吐量), AverageTime(平均时间),SampleTime(在测试中,随机进行采样执行的时间),SingleShotTime(在每次执行中计算耗时),All 指定测试的模式 @BenchmarkMode
例如
原文地址:https://www.cnblogs.com/kongkongFabian/p/13037296.html