Java 性能测试工具 JMH
来源:互联网 发布:刷花呗的淘宝店铺 编辑:程序博客网 时间:2024/05/15 23:52
前言
最近在看《Java8函数式编程》时,发现了一个性能测试工具 JMH(Java Microbenchmark Harness)。这个工具方便了我们进行微基准测试。比如,在进行微基准测试时,我们想要测试的是“程序被JVM编译成机器代码(而不是直接执行字节码)”的执行速度。为了让JVM把要测试的代码编译成机器码,我们可能需要把要测试的代码进行“预热处理”(就是先跑几回,或十几回等,当运行的次多了,JVM就会生成机器码),JMH就提供“预热处理”等一系列的处理。
正文
一,学习文章:
- JMH - Java Microbenchmark Harness:从零开始的学习JMH的使用。包括“自动创建JMH工程”、“和一些关键字的作用”、“测试时代码的优化方案”等。
- JMH简介:一篇国外关于JMH文章的翻译,这篇文章和上面那篇文章内容有点有类似,但多了一些关于注解CPU的介绍。
- JMH 官方介绍
- JMH Samples
二,要注意的问题
用Maven进行 install
在写完 Benchmark 后,在执行之前,要使用mvn clean install
命令进行生成Jar
包。因为如果不执行这个命令,而直接IDE执行Main函数的话,会出现找不到/META-INF/BenchmarkList
文件的错误。使用 mvn 命令的话,就会生成 BenchmarkList 文件。生成这个文件后,再使用IDE执行就没问题了。在 Intellij IDEA 中执行
当在 Intellij IDEA 中执行的Main函数时,不要使用 Debug 模式执行,要使用 Run 模式执行。如果使用 Debug 模式执行的话,会出现下面的错误:
ERROR: transportFATAL eErRrRoOrR 2i0n2 :n actoinvnee cmte tfhaoidl:e dJ:D WCPo nNno transports ineitcitailoinz erde,f ujsvemdERROR: JtDiWEP Transport dt_socket failed tror oirn=iAtGiEaNlTi_zEeRROR_TRANSPORT_INIT,( 1T9R7)ANSPORT_INIT(510)JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]<forked VM failed with exit code 134><stdout last='20 lines'>FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)</stdout><stderr last='20 lines'>ERROR: transport error 202: connect failed: Connection refusedERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]</stderr># Run complete. Total time: 00:00:00Benchmark Mode Cnt Score Error Units
阅读全文
0 0
- Java 性能测试工具 JMH
- Java基准测试 JMH
- 性能分析工具JMH(一)
- 性能分析工具JMH(二)
- JMH工具进行基准测试简单使用
- JAVA性能测试工具
- java性能测试工具
- java性能测试分析工具
- java性能、负载、压力测试工具
- J Optimizer-Java性能测试分析工具
- JAVA 性能测试工具 JMeter 介绍
- Java性能/负载/压力测试工具
- Java常用的性能测试工具记录
- Java常用的性能测试工具记录.....................
- JAVA 性能测试工具 JMeter 介绍
- java 计时工具 用户性能测试
- JMeter(性能测试工具)
- 网站性能测试工具
- php与nginx结合搭建
- 000024:赋值给变量和常量并通过输出测试范围
- 导致烂代码的35个恶习
- Grails GORM查询
- 动态联编和静态联编
- Java 性能测试工具 JMH
- nginx系统真正有效的图片防盗链完整设置详解
- 高可用(HA)集群原理概述
- Hybrid App 和 React Native 开发那点事
- JSON WEB TOKEN安全
- Vue.js 学习(7) -- 事件处理
- java中JVM的原理
- CodeForces
- 机器学习算法~主成分分析(PCA)