我尝试使用以下形式的命令行参数对字段使用@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类型的静态字段提供,等等。从来没有任何迹象表明它试图迭代提供的"provider“值。
对我做错了什么有什么想法吗?
发布于 2012-04-15 12:42:51
看起来0.5-rc1版本( Maven Central中唯一的版本)是问题所在。我从另一个项目中下载了一个初步的1.0版本(我不想下载整个项目和Maven并构建它)。
https://stackoverflow.com/questions/10154959
复制相似问题