gpt4 book ai didi

JMH:约束参数空间

转载 作者:行者123 更新时间:2023-12-04 20:39:50 32 4
gpt4 key购买 nike

假设我有一个带有两个参数的 JMH 测试:

@Param( { "1", "2", 4", "8", "16" } )
int param1;

@Param( { "1", "2", 4", "8", "16" } )
int param2;

是否有一种惯用的方法来对参数添加约束,例如仅适用于 param1 < param2 的基准测试?

从 @SetUp 抛出异常有效,但会增加输出的噪音。

最佳答案

不,不是在这一点上。如果您觉得注释受到限制,您可以随时使用 API。在那里,您可以执行以下操作:

for (int p1 = 1; p1 <= 16; p1 *= 2) {
for (int p2 = 1; p2 <= p1; p2 *= 2) {
Options opt = new OptionsBuilder()
...
.param("param1", p1)
.param("param1", p2)
.build();

RunResult r = new Runner(opt).runSingle();
... put r somewhere to process
}
}

(维护者的观点:为 JMH 结束一个成熟的基于注解的 DSL 似乎不值得,让用户用 Java 编写他们的高级场景更简单)。

UPD:想想看,您可能可以将两个参数编码为一个 @Param ,如果您想继续使用仅注释的方式。

关于JMH:约束参数空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454437/

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