【Code Tools】Java微基准测试工具JMH之入门篇
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Code Tools】Java微基准测试工具JMH之入门篇,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1608字,纯文字阅读大概需要3分钟。
内容图文
![【Code Tools】Java微基准测试工具JMH之入门篇](/upload/InfoBanner/zyjiaocheng/1069/7d544d6c0746495d9d21d5e2e21a0318.jpg)
一、JMH是什么
JMH是一个Java工具,用于构建、运行和分析用Java和其他语言编写的以JVM为目标的 nano/micro/milli/macro 基准测试。
二、基本注意事项
1)运行JMH基准测试的推荐方法是使用Maven设置一个独立的项目,该项目依赖于应用程序的jar文件。这种方法是首选的,以确保基准被正确初始化并产生可靠的结果。
2)我们也可以在现有项目中运行基准测试,甚至可以在IDE中运行基准测试,但是设置更加复杂,结果也不那么可靠。
3)在所有情况下,使用JMH的关键是使注释或字节码处理器能够生成合成的基准代码。Maven archetypes(原型)是用于启用此功能的主要机制。我们强烈建议新用户使用archetype设置正确的环境。
三、通过Command Line(命令行)来创建JMH测试项目
1)建立基准测试项目
执行下面的maven命令将生成一个新的JMH-driven项目
$ mvn archetype:generate -DinteractiveMode=false-DarchetypeGroupId=org.openjdk.jmh -DarchetypeArtifactId=jmh-java-benchmark-archetype -DgroupId=org.sample -DartifactId=test -Dversion=1.0
2)Building项目
$ cd test/
$ mvn clean install
3)运行该项目
java -jar target/benchmarks.jar
使用-h运行,查看可用的命令行选项。
java -jar target/benchmarks.jar -h
该项目目前没有任何测试代码,但可以看到运行效果,代码如下
public class MyBenchmark { public MyBenchmark() { } @Benchmark public void testMethod() {
//此处添加测试代码 } }
运行结果如下:
? test java -jar target/benchmarks.jar # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/bin/java # VM options: <none> # Warmup: 20 iterations, 1 s each # Measurement: 20 iterations, 1 s each # Threads: 1 thread, will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: org.sample.MyBenchmark.testMethod # Run progress: 0.00% complete, ETA 00:06:40 # Fork: 1 of 10 # Warmup Iteration 1: 3019163919.102 ops/s # Warmup Iteration 2: 3040718111.236 ops/s # Warmup Iteration 3: 3052170687.842 ops/s # Warmup Iteration 4: 3063995970.025 ops/s
注:在处理大型项目时,通常将基准保存在单独的子项目中,然后通过通常的构建依赖关系依赖于测试的模块。
原文:https://www.cnblogs.com/756623607-zhang/p/10680648.html
内容总结
以上是互联网集市为您收集整理的【Code Tools】Java微基准测试工具JMH之入门篇全部内容,希望文章能够帮你解决【Code Tools】Java微基准测试工具JMH之入门篇所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。