JMH的具体操作次数是多少?



Java Microbenchmarking Harness (JMH)中注释@OperationsPerInvocation的JavaDoc状态:

value public abstract int value

Returns:单个基准测试调用的操作数。默认值:1

作为JMH的新手,我想知道这里意味着什么类型的操作(字节码操作,汇编代码操作,Java操作等)。

这个问题自然是指JMH中使用"操作"一词的所有地方(文档、输出、注释等)(例如operation/time"单位或者"时间单位/操作")。

在JMH中,"操作"是一个抽象的工作单元。参见示例结果:

Benchmark               Mode  Cnt  Score   Error  Units
MyBenchmark.testMethod  avgt    5  5.068 ± 0.586  ns/op

这里,每次操作的性能为5.068纳秒。

名义上,一个操作是一个@Benchmark调用。一些注释,比如@OperationsPerInvocation,可能会告诉我们单个@Benchmark调用意味着N个操作。类似地,批处理运行,例如通过@Measurement(batchSize = N),可能会说一个操作包含N个@Benchmark调用。

相关内容

  • 没有找到相关文章

最新更新