JMH: 将基准测试结果作为 JSON 对象返回

8

我正在开发一个应用程序,需要将综合基准测试集成进去。我想使用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();

如何不需要阅读文件就能接收到这些结果?
1个回答

16

如果您从命令行运行JMH,则可以使用选项(-rf)设置输出格式。

要获取JSON输出:

java -jar benchmarks.jar -rf json

要获取其他格式的列表和选择选项:

java -jar benchmarks.jar -lrf
Available formats: text, csv, scsv, json, latex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接