我正在尝试@Param
在具有以下形式的命令行参数的字段上使用注释:“-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 类型的静态字段提供等。从来没有任何迹象表明它正在尝试迭代提供的“提供者”值。
关于我做错了什么有什么想法吗?