使用 JMH 时出现奇怪的输出

2023-11-29

我正在使用 jmh 来对一个简单的应用程序进行基准测试(来自 SO 问题java fork-join 中出现意外的可扩展性)使用 Maven 并遵循命令行方法,如建议的http://openjdk.java.net/projects/code-tools/jmh/。成功设置和构建基准测试后,我使用 avgt 模式获得以下基准测试结果:

C:\Users\username\my-app\test>java -jar target/benchmarks.jar -bm avgt -f 1
# JMH 1.10.1 (released 13 days ago)
# VM invoker: C:\Program Files\Java\jre1.8.0_45\bin\java.exe
# VM options: <none>
# Warmup: 20 iterations, 1 s each
# Measurement: 20 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.sample.MyBenchmark.testMethod

# Run progress: 0,00% complete, ETA 00:00:40
# Fork: 1 of 1
# Warmup Iteration   1: ? 10?? s/op
# Warmup Iteration   2: ? 10?? s/op
# Warmup Iteration   3: ? 10?? s/op
# Warmup Iteration   4: ? 10?? s/op
# Warmup Iteration   5: ? 10?? s/op
# Warmup Iteration   6: ? 10?? s/op
# Warmup Iteration   7: ? 10?? s/op
# Warmup Iteration   8: ? 10?? s/op
# Warmup Iteration   9: ? 10?? s/op
# Warmup Iteration  10: ? 10?? s/op
# Warmup Iteration  11: ? 10?? s/op
# Warmup Iteration  12: ? 10?? s/op
# Warmup Iteration  13: ? 10?? s/op
# Warmup Iteration  14: ? 10?? s/op
# Warmup Iteration  15: ? 10?¹? s/op
# Warmup Iteration  16: ? 10?? s/op
# Warmup Iteration  17: ? 10?¹? s/op
# Warmup Iteration  18: ? 10?? s/op
# Warmup Iteration  19: ? 10?¹? s/op
# Warmup Iteration  20: ? 10?¹? s/op
Iteration   1: ? 10?¹? s/op
Iteration   2: ? 10?¹? s/op
Iteration   3: ? 10?? s/op
Iteration   4: ? 10?¹? s/op
Iteration   5: ? 10?¹? s/op
Iteration   6: ? 10?? s/op
Iteration   7: ? 10?¹? s/op
Iteration   8: ? 10?? s/op
Iteration   9: ? 10?? s/op
Iteration  10: ? 10?¹? s/op
Iteration  11: ? 10?? s/op
Iteration  12: ? 10?? s/op
Iteration  13: ? 10?¹? s/op
Iteration  14: ? 10?? s/op
Iteration  15: ? 10?? s/op
Iteration  16: ? 10?¹? s/op
Iteration  17: ? 10?? s/op
Iteration  18: ? 10?¹? s/op
Iteration  19: ? 10?¹? s/op
Iteration  20: ? 10?¹? s/op


Result "testMethod":
? 10?¹? s/op


# Run complete. Total time: 00:00:40

Benchmark               Mode  Cnt    Score     Error  Units
MyBenchmark.testMethod  avgt   20  ? 10?¹?             s/op

我不知道如何解释这个输出,但我很确定出了问题......?知道什么或如何调试这个吗?


JMH 输出使用扩展的 Unicode 字符。尤其, ? 10?? s/op”可能意味着“≈ 10⁻¹⁰ s/op”。使用正确支持 Unicode 的终端,请参阅this.

除了 Unicode 问题之外,您的基准测试似乎太短,因此 JMH 提供了一个数量级估计,而不是显示“0.000 s/op”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JMH 时出现奇怪的输出 的相关文章

随机推荐

  • 避免额外的换行,写入 .txt 文件

    目前我正在使用java nio file File write Path Iterable Charset 写入txt文件 代码在这里 Path filePath Paths get d myFile txt List
  • node.js - 获取请求后,脚本不会返回到控制台

    这是一个简单的脚本 var http require http http get WEBSITE function res console log Does not return return if WEBSITE变量是 http goog
  • Xaxis-Tick 标签已经消失,用 pandas 绘制到子图上,但仍然存储

    使用嵌套在其他脚本中的复杂脚本pandas DataFrame plot and GridSpec在子图设置中 我遇到以下问题 当我创建 2 列 1 行网格规范时 刻度标签都是正确的 然而 当我创建 1 列 2 行 gridspec 时 一
  • Spring Boot中JMS消费者的动态扩展

    我正在尝试构建一个 spring boot 应用程序 它将从 activeMQ 生产者读取数据 我希望客户可用的资源达到最佳状态 在我的 spring boot 应用程序中 我想配置多个消费者 并且所有这些消费者将连接到一个队列 他们是我可
  • 从 .pub 格式的公钥创建 JSch HostKey 实例

    我正在尝试使用 JSch 将文件从 Windows 计算机发送到 Linux 计算机 因此 我将主机公钥从 Linux 计算机复制到我的 Windows 计算机 并将密钥添加到我的HostKeyRepository 但由于某种原因 我收到
  • 下载时限制带宽

    我有一个可以使用互联网连接来下载数据的应用程序 我在用着HttpURLConnection要做到这一点 Problem 我的应用程序会耗尽互联网带宽 因此用户在浏览器上浏览速度会很慢 我想让它们选择性地自行设置带宽限制 而不是像这个网站 我
  • 我可以删除下面的 flutter 代码中的 const 吗?

    更新到 flutter 2 5 后 默认代码中添加了 const 修饰符 并且有些地方不需要添加 const 那么添加 const 有什么区别呢 import package flutter material dart void main
  • 从批处理文件创建新的批处理文件

    是否可以从现有批处理文件创建新的批处理文件 例如 在 Java C 和几乎任何其他语言中 我可以运行一个 exe 并使用单独的代码创建另一个 exe 这可以在批处理文件中完成吗 假设我希望 test bat 是这样的 echo hello
  • 正确使用 Laravel 的分页方法?

    当我使用paginate方法具有以下语句 user User where id 1 gt first images user gt images gt paginate 3 我收到以下错误 方法 Illuminate Database El
  • 在 bash 中自动将最后一个命令的输出发送到文件?

    在 OSX 上使用 bash 如何设置 shell 以便它使用最近命令的输出覆盖某个文件 这对于查看 搜索 分析大型输出非常方便 而我没有先见之明可以通过管道传输到文件 谢谢您的帮助 Use script您的命令及其输出将存储在日志文件中
  • 使用张量板时,如何总结多个小批量计算的损失?

    我想使用 Tensorboard 来可视化验证样本中损失的演变 但验证集太大 无法在一个小批量中进行计算 因此 为了计算我的验证损失 我必须在覆盖验证集的多个小批量上多次调用 session run 然后我将每个小批量的损失 在Python
  • “无法映射用于编码 UTF-8 的字符”错误

    我在以下方法中遇到编译错误 public static boolean isValidPasswd String passwd String reg 0 9 a z A Z s 8 24 return Pattern matches reg
  • 包含 WEB-INF 中的 javascript 文件 [重复]

    这个问题在这里已经有答案了 我正在用struts开发一个网站 我的文件夹结构如下 现在 我有一个jsp页面register jsp 我想在其中添加jquery validate js文件 我已遵循以下链接的建议 无法在 JSP 中包含 WE
  • iPhone 上的 CSS 过滤器速度慢?

    我有一个带有这个 css 类的 div pos webkit filter brightness 0 5 moz filter britghtness 0 5 o filter brightness 0 5 ms filter bright
  • 将 A4 PDF 页面拆分为两个 A5,然后再拆分回来

    我有一个 A4 页的 PDF 出于打印原因 每页包含两张相同的 A5 页 我想要在我的 Java 程序中做的是拆分这些页面 并使用每个唯一的 A5 页面零到多次作为模板来添加 替换一些文本 完成此操作后 我想将 A5 页再次粘回 A4 页
  • 在 C++11/14 中按值返回局部变量是否会导致在不涉及复制/移动时由右值构造返回值?

    我知道在以下情况下 编译器可以自由地移动构造来自makeA 但也可以自由地删除副本或完全移动 struct A A A A A A makeA A localA return localA 我想知道编译器是否允许构造类型的对象A来自类型的本
  • Kubernetes 服务无法访问

    我在 2 个 Rasberry Pi 型号 3 和 3B 上创建了一个 Kubernetes 集群 用作 Kubernetes 游乐场 我已经部署了一个 postgresql 和一个 spring boot 应用程序 称为meal plan
  • 在 bash 脚本中查找文件夹名称的一部分

    尝试在文件夹结构中查找特定部分 但我在 bash 脚本中使用 RegEx 时遇到问题 此外 我的正则表达式说得不太流利 我需要知道我传递给 bash 脚本的文件夹 类型 根据当前所在的文件夹 类型 需要运行不同的操作 以下示例文件夹结构 h
  • 从 HTML 表单调用 servlet,但从未调用 servlet [重复]

    这个问题在这里已经有答案了 我从 html 表单调用 servlet servlet 获取表单数据 并将该表单数据插入数据库 但是当我单击提交按钮时 错误页面出现 请帮助我的 servlet 代码出了什么问题 我的servlet代码 imp
  • 使用 JMH 时出现奇怪的输出

    我正在使用 jmh 来对一个简单的应用程序进行基准测试 来自 SO 问题java fork join 中出现意外的可扩展性 使用 Maven 并遵循命令行方法 如建议的http openjdk java net projects code