从jar运行特定的JMH基准测试

时间:2016-01-07 16:42:49

标签: java jmh

我有几个使用@Benchmark注释的重型基准类。在使用基准测试建立jar后,我可以使用以下命令运行所有这些

java -Xmx4G -jar benchmarks.jar -f 1 -wi 3 -i 10

如果我不想运行所有基准测试,如何指定运行基准?

3 个答案:

答案 0 :(得分:8)

如有疑问,请询问命令行帮助。实际上,使用-h运行JAR会产生:

Usage: java -jar ... [regexp*] [options]
 [opt] means optional argument.
 <opt> means required argument.
 "+" means comma-separated list of values.
 "time" arguments accept time suffixes, like "100ms".

  [arguments]                 Benchmarks to run (regexp+). 

因此,提供正则表达式作为过滤器会有所帮助。

答案 1 :(得分:0)

这是确切的命令:

java -Xmx4G -jar benchmarks.jar YourClass -f 1 -wi 3 -i 10

答案 2 :(得分:0)

扩展 Aleksey 的答案,在测试类名称上使用正则表达式过滤器。

java -jar myJmh.jar -f 1 -wi 1 -w 10 -i 5 "JwtParseBenchmark"
java -jar myJmh.jar -f 1 -wi 1 -w 10 -i 5 "JwtClaimBenchmark"

和/或使用例如运行多个

java -jar myJmh.jar -f 1 -wi 1 -w 10 -i 5 "Jwt.*Benchmark"