当前位置: 首页 > 知识库问答 >
问题:

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

濮阳鸿祯
2023-03-14

Java微基准测试工具(JMH)中注释< code > @ operationsperinguration 的JavaDoc声明:

公共抽象整型值

返回:每个基准调用的操作数。默认值:1

刚接触JMH,我想知道这里指的是什么类型的操作(字节码操作,汇编代码操作,Java操作等等)。

这个问题自然涉及JMH中使用术语“操作”的所有地方(文档、输出、注释等)(例如“操作/时间”单位或“时间单位/操作”)。

共有1个答案

郭恩
2023-03-14

在JMH,“操作”是一个抽象的工作单位。参见示例结果:

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

此处,每个操作的性能为 5.068 纳秒。

名义上,一个操作就是一次< code>@Benchmark调用。有些注释,如< code > @ operationsperinguration 可能会指出一次< code>@Benchmark调用意味着N次操作。类似地,批处理运行,例如通过< code > @ Measurement(batch size = N)可以说一个操作包含N个< code>@Benchmark调用

 类似资料:
  • 在 jmh 结果中,分数以 ns/op 为单位,即每次操作所花费的时间(以纳秒为单位),操作是否是指基准测试调用?如果是这种情况,较低的分数将意味着更快的呼叫?

  • 本文向大家介绍EF 配置Oracle数据库的具体操作方法,包括了EF 配置Oracle数据库的具体操作方法的使用技巧和注意事项,需要的朋友参考一下 EF可以配置Oracle数据库,但不知道为什么一直配置不好。 其实可以使用使用NUGET管理程序包,自动配置数据库,但需要注意的时,需要安装两个包,而并不是一个,我一直以为时一个,但已启动程序就会出错。 安装后配置文件的主要的改变如下:  oracle

  • 装饰器 # functools_partial.py import functools def myfunc(a, b=2): "Docstring for myfunc()." print(' called myfunc with:', (a, b)) def show_details(name, f, is_partial=False): "Show deta

  • Examining the File System Contents # os_listdir.py import os import sys print(sorted(os.listdir(sys.argv[1]))) # os_walk.py import os import sys # If we are not given a path to list, use /tmp if le

  • 在vuex操作中使用axios获取API数据: 组件发送数据的方法: 然而,它不会工作,因为负载是一个对象,包装在负载对象中。是否可以将多个参数从组件的方法发送到vuex操作? Post请求如下所示:

  • 考虑到JMH的默认用法,我想确定JMH的测量基于哪种时间类型:CPU时间还是挂钟。 我试着调查JMH的官方样本(https://openjdk.java.net/projects/code-tools/jmh/),教程(在Jenkov、Baeldung、Mykong和其他网站),但未能准确地找到这些信息(我承认我可能错过了一些关于基准测试的文档或一般信息)。 例如,在样本35中(https://h