我试图在一个字段上使用@Param
注释,命令行为args:“-Dmyparamname = val1,val2,val3”,它不起作用。我正在使用caliper-0.5-rc1.jar。我的实际用法如下:
java -classpath "mylongclasspath" MyBenchmarkClass -Jjit=-client,-server -Dprovider=CGLIB,JAVASSIST,JAVAPROXY
我的基准测试课程如下:
public class MyBenchmarkClass extends SimpleBenchmark {
@Param
private String provider;
...
}
但是当我跑步时,我只获得了jit的选项,但不是-Dprovider:
0% Scenario{vm=java, trial=0, benchmark=M1, jit=-server} 30.40 ns; ?=0.13 ns @ 3 trials
17% Scenario{vm=java, trial=0, benchmark=M2, jit=-server} 31.42 ns; ?=0.08 ns @ 3
等,最终用“jit = -client”
重复所有基准测试我原本希望看到:
0% Scenario{vm=java, trial=0, benchmark=M1, jit=-server provider=CGLIB} ...etc.
我尝试了各种各样的选项:包括命令arg中值的引号,将它们作为List内部类型的静态字段提供,等等。从来没有任何迹象表明它试图迭代提供的值“提供者”。
对我做错了什么的想法?
答案 0 :(得分:0)
看起来像0.5-rc1版本(Maven Central中唯一的版本)就是问题所在。我从另一个项目中刷了一个初步的1.0版本(我不想下载整个项目和Maven并构建它)。