发布
社区首页 >问答首页 >JMH中具有不同值的循环的微基准测试

JMH中具有不同值的循环的微基准测试
EN

Stack Overflow用户
提问于 2015-03-12 14:23:05
回答 1查看 8.5K关注 0票数 7

众所周知,在JMH基准测试中使用循环并不是一个好主意,因为它将由JIT编译器进行优化,因此应该避免。是否有一种方法可以在不使用循环的情况下向我的JMH基准测试方法提供不同值的int输入(输入列表)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-13 08:02:27

看看JMH文档中的这个示例。您可以在字段上使用@Param注释,以便告诉JMH注入该注释的值:

代码语言:javascript
代码运行次数:0
复制
@Param({"1", "2"})
public int arg;

@Benchmark
public int doBenchmark() {
  return doSomethingWith(arg);
}

然后,对12值运行基准测试。

注意,如果带注释的字段不是一个String,而是一个原语,那么如何在赋值之前解析这些值,并以它们转换后的形式分配。如果您有多个带有@Param注释的字段,JMH将使用字段值的任何可能排列来运行基准测试。

在定义JMH运行程序时,还可以重写值分配。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29012346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档