Ang*_*ket 7 java benchmarking jmh
Java Microbenchmarking工具(jmh)中的注释@OperationsPerInvocation的Javadoc指出:
value public abstract int value
返回:每个Benchmark调用的操作数.默认值:1
作为jmh的新手,我想知道这里的操作类型(字节代码操作,汇编代码操作,java操作......).
编辑(进一步澄清):这个问题自然是指jmh(文档,输出,注释......)中使用术语"操作"的所有地方.(例如,操作/时间单位或时间单位/操作).有关简明说明,请参阅下面接受的答案.
Ale*_*lev 11
在JMH中,"操作"是一个抽象的工作单元.参见例如样本结果:
Benchmark Mode Cnt Score Error Units
MyBenchmark.testMethod avgt 5 5.068 ± 0.586 ns/op
Run Code Online (Sandbox Code Playgroud)
这里,每个操作的性能为5.068纳秒.
名义上,一个操作是一次@Benchmark调用.一些注释,@OperationsPerInvocation可能会告诉单个@Benchmark调用意味着N个操作.类似地,批量运行,例如via @Measurement(batchSize = N)可以说一个操作包含N个@Benchmark调用.