JMH介绍
2020-08-21 • 预计阅读时间 1 分钟
2020-08-21 • 预计阅读时间 1 分钟
Java Microbenchmarks Hard 是一个Java的性能测试框架。针对的主要是代码片段或者简单的函数。虽然总是用jmeter 来做性能测试,但是想知道某个函数具体的性能信息的话,还是不太方便。JMH
就是为了这种场景诞生的。
这是OpenJDK
的一个子项目,里面还是有挺多好用的东西。
可以参考如下的两篇文章
使用的时候可以搭配gradle
的插件进行
buildscript {
repositories {
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "me.champeau.gradle:jmh-gradle-plugin:0.5.0"
}
}
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
apply plugin: "me.champeau.gradle.jmh"
public
模式 | 说明 |
---|---|
Throughput | 统计每秒执行的次数 |
Average Time | 统计平均执行时间 |
Sample Time | 统计函数执行的时间,包含,最小,最大 |
Single Shot Time | 单次执行时间,在测冷启动的时候用得到 |
All | 统计以上所有 |
默认的模式为Throughput
.可以通过函数的注解来配置模式 @Benchmark @BenchmarkMode(Mode.Throughput)
JMH
可以通过指定不同的时间单位,来控制结果输出中的时间单位。@OutputTimeUnit(TimeUnit.MINUTES)