gpt4 book ai didi

java - 在 JMH 中对具有不同值的循环进行微基准测试

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:36 25 4
gpt4 key购买 nike

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

最佳答案

看看this example in the JMH documentation .您可以在字段上使用 @Param 注释来告诉 JMH 注入(inject)此注释的值:

@Param({"1", "2"})
public int arg;

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

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

请注意,如果带注释的字段不是 String 而是原始值,则值在赋值之前会被解析并以其转换后的形式赋值。如果您有多个带有 @Param 注释的字段,JMH 将使用字段值的任何可能排列来运行基准测试。

您还可以在定义 JMH 运行程序时覆盖值分配。

关于java - 在 JMH 中对具有不同值的循环进行微基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29012346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com