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

OpenJDK JMH有时会在结果中打印(*中断*)。这到底是什么意思?

余信然
2023-03-14

我使用OpenJDK JMH 0.9.3,有时会得到下面这样的结果日志文件。这里的(*中断*)是什么意思?

Forking 1 times using command: [/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/...]
# Run progress: 53,85% complete, ETA 00:01:26
# Fork: 1 of 1
# Warmup Iteration   1: 19950765,000 us/op
# Warmup Iteration   2: (*interrupt*) (*interrupt*) (*interrupt*) 18107134,000 us/op
# Warmup Iteration   3: (*interrupt*) 14439157,500 us/op
Iteration   1: 13571806,000 us/op
Iteration   2: 7484946,500 us/op
Iteration   3: (*interrupt*) 12386565,000 us/op
Iteration   4: (*interrupt*) 7245477,500 us/op
Iteration   5: (*interrupt*) 9047236,000 us/op


Result: 9947206,200 ±(99.9%) 11103651,130 us/op [Average]
  Statistics: (min, avg, max) = (7245477,500, 9947206,200, 13571806,000), stdev = 2883582,937
  Confidence interval (99.9%): [-1156444,930, 21050857,330]

共有1个答案

段干帅
2023-03-14

这意味着您的工作负载被JMH中断,很可能是因为它超出了迭代时间。它打印“(中断)”让你知道分数是在JMH的积极干预下获得的,可能是不可靠的。

您可以使用@Timeout(time=1,timeUnit=timeUnit.HOURS)注释来注释您的基准,它会知道这需要更长的时间。默认情况下,当您运行某些批处理测量(未设置时间限制)时,它将默认为10分钟时间限制。

 类似资料:
  • 问题内容: 我对Java非常陌生,只想确认是什么?它类似于Float还是Int?任何帮助,将不胜感激。我有时还会看到大写字母,有时看到的是小写字母。如果有人可以弄清楚这意味着什么,那就太好了! 问题答案: Double是包装器类, Double类将原始类型double的值包装在对象中。类型为Double的对象包含单个类型为double的字段。 此外,此类提供了几种将double转换为String和

  • 我的问题是关于什么“集群”。断路器。hresholds.max_connections”在特使中的意思是。 簇断路器。阈值。特使文件中的最大连接数解释如下: 特使将与上游集群建立的最大连接数。如果未指定,则默认值为1024。 Istio使用特使作为侧车。最近我们尝试了断路示例,但总是发现连接比我们配置的要多。 因此,我们进行另一项测试,如下所示: > 在istio中添加两个服务: echo客户端:

  • 我正在用Node和Cheerio构建一个web刮板,对于某个网站,我得到了以下错误(它只发生在这个网站上,没有其他我尝试刮板的网站)。 每次都发生在不同的位置,所以有时是抛出错误,其他时候很好,它是一个完全不同的url: 这是非常棘手的调试,我真的不知道从哪里开始。首先,什么是套接字挂起错误?是404错误还是类似的?还是仅仅意味着服务器拒绝了一个连接? 我在任何地方都找不到这件事的解释! 编辑:下

  • 问题内容: 我有以下示例: 在这段代码中,我可以理解Enum创建了一个Enum类型的Sizes。 我的问题是:EnumSet类型的对象吗?到底是什么意思 我真的很想更好地理解它。 问题答案: 对于任何变量,可以在其声明中找到其类型: 是的,(应该命名,因为它是一个集合)是type 。它也应该被泛化,因此被声明为 它的意思是那是type 。一个是一个包含一个特定的枚举类型的枚举例如,在比其他更有效的

  • 我正在学习Spring核心认证,不清楚如何将Spring Security项目配置到应用程序中。 在课程留档中,我发现了以下2个代码片段: 1) 在web中进行配置。xml: 我对JavaEE(以及Spring)非常陌生,所以在网上阅读时,我明白这个过滤器有点像Servlet,它对资源(servlet或静态内容)的请求或来自资源或两者的响应。因此,如果标准Servlet是用于处理请求、创建内容和给

  • 问题内容: 这是代码: 但是当我将“ #round”更改为“ this”时。它不会工作。为什么?(实际上是可行的,但是当我将它们放入setInterval()时,它将无法工作) 更改为“ this”,将无法使用。 问题答案: 是对调用当前函数的成员的引用… 那么您可以将其包装在jquery函数中以选择它,就像选择其他选择器一样。 因此调用匿名函数,这样它就不会被可引用成员调用,因此它默认为该对象。