运行 来自 jar 的特定 JMH 基准
Run specific JMH benchmarks from jar
我有几个用@Benchmark 注释的重基准测试类。在使用基准构建 jar 后,我可以 运行 所有这些都使用以下命令
java -Xmx4G -jar benchmarks.jar -f 1 -wi 3 -i 10
如果我不想 运行 所有这些,如何指定 运行 的基准?
如有疑问,请寻求命令行帮助。事实上,运行 带有 -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+).
因此,提供一个正则表达式作为过滤器会有所帮助。
这是确切的命令:
java -Xmx4G -jar benchmarks.jar YourClass -f 1 -wi 3 -i 10
扩展 Aleksey 的回答,对测试 class 名称使用正则表达式过滤器。
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"
and/or 运行 多次使用 例如
java -jar myJmh.jar -f 1 -wi 1 -w 10 -i 5 "Jwt.*Benchmark"
我有几个用@Benchmark 注释的重基准测试类。在使用基准构建 jar 后,我可以 运行 所有这些都使用以下命令
java -Xmx4G -jar benchmarks.jar -f 1 -wi 3 -i 10
如果我不想 运行 所有这些,如何指定 运行 的基准?
如有疑问,请寻求命令行帮助。事实上,运行 带有 -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+).
因此,提供一个正则表达式作为过滤器会有所帮助。
这是确切的命令:
java -Xmx4G -jar benchmarks.jar YourClass -f 1 -wi 3 -i 10
扩展 Aleksey 的回答,对测试 class 名称使用正则表达式过滤器。
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"
and/or 运行 多次使用 例如
java -jar myJmh.jar -f 1 -wi 1 -w 10 -i 5 "Jwt.*Benchmark"