JMH:将基准测试结果作为 json 对象返回
JMH: Returning the benchmark results as a json object
我正在将集成基准测试开发到应用程序中。我想使用 JMH 作为我的框架。
如何将结果作为 JSON 对象接收?
我知道我可以使用以下 运行 选项将其保存在文件中:
org.openjdk.jmh.runner.options.Options opt = new OptionsBuilder()
.include(WorkerBenBenchmarkObject.class.getSimpleName())
.shouldDoGC(true)
.resultFormat(ResultFormatType.JSON)
.result("benchmark-result/" + System.currentTimeMillis() + ".json")
.addProfiler(StackProfiler.class)
.jvmArgsAppend("-Djmh.stack.period=1")
.warmupIterations(5)
.measurementIterations(5)
.forks(1)
.build();
new Runner(opt).run();
如何在无需读取文件的情况下接收此结果?
如果您从命令行 运行 JMH 有一个选项 (-rf) 来设置输出格式。
对于JSON输出:
java -jar benchmarks.jar -rf json
获取其他格式的列表和 select 的选项:
java -jar benchmarks.jar -lrf
Available formats: text, csv, scsv, json, latex
我正在将集成基准测试开发到应用程序中。我想使用 JMH 作为我的框架。
如何将结果作为 JSON 对象接收?
我知道我可以使用以下 运行 选项将其保存在文件中:
org.openjdk.jmh.runner.options.Options opt = new OptionsBuilder()
.include(WorkerBenBenchmarkObject.class.getSimpleName())
.shouldDoGC(true)
.resultFormat(ResultFormatType.JSON)
.result("benchmark-result/" + System.currentTimeMillis() + ".json")
.addProfiler(StackProfiler.class)
.jvmArgsAppend("-Djmh.stack.period=1")
.warmupIterations(5)
.measurementIterations(5)
.forks(1)
.build();
new Runner(opt).run();
如何在无需读取文件的情况下接收此结果?
如果您从命令行 运行 JMH 有一个选项 (-rf) 来设置输出格式。
对于JSON输出:
java -jar benchmarks.jar -rf json
获取其他格式的列表和 select 的选项:
java -jar benchmarks.jar -lrf
Available formats: text, csv, scsv, json, latex