首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMH [Java Micro]

JMH [Java Micro]
EN

Stack Overflow用户
提问于 2015-03-03 06:31:14
回答 1查看 1.5K关注 0票数 4

我一直在读关于JMH的文章。但我找不到办法用这个来生成地块。JMH支持密谋吗?还是为此目的有第三方图书馆?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-03 10:26:45

JMH不支持绘制。您可以将性能结果写入文件(例如,使用-rf csv-rf json),并使用您熟悉的任何绘图工具。或者,您可以从Java获得的RunResult实例中提取性能数据,并使用任何嵌入式库解析/呈现它。

如果使用设置来观察单个调用执行时间(或批处理调用),并且希望查看每个持续时间的图(类似于最后一个绘图这里),则可以组合设置:

代码语言:javascript
复制
@Measurement(batchSize = 1000, iterations = 500)
@BenchmarkMode({Mode.SingleShotTime})

和一些脚本,以获得所需的数据在csv。在这样的设置中,只有来自jmh的csv的摘要数据。

代码语言:javascript
复制
mvn package && java -jar target/benchmarks.jar -foe true -rf csv | tee output.txt
N=5 # set here number of benchmarks plus 2
grep Iteration -A 3 output.txt | grep -v Warmup | sed 's/$/,/' | xargs -l$N | sed 's/,$//'

它将输出类似于:

代码语言:javascript
复制
Iteration 1: 93.915 ±(99.9%) 2066.879 s/op, readerA: 28.487 s/op, readerB: 28.525 s/op, writer: 224.735 s/op, --
Iteration 2: 100.483 ±(99.9%) 1265.993 s/op, readerA: 59.927 s/op, readerB: 60.912 s/op, writer: 180.610 s/op, --
Iteration 3: 76.458 ±(99.9%) 760.395 s/op, readerA: 52.513 s/op, readerB: 52.276 s/op, writer: 124.586 s/op, --
Iteration 4: 84.046 ±(99.9%) 1189.029 s/op, readerA: 46.112 s/op, readerB: 46.724 s/op, writer: 159.303 s/op, --
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28825474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档