文章标签:Gradle JMH 基准 INT benchmark framework 帧
Integrates the JMH benchmarking framework with Gradle
- 源代码名称:jmh-gradle-plugin
- 源代码网址:http://www.github.com/melix/jmh-gradle-plugin
- jmh-gradle-plugin源代码文档
jmh-gradle-plugin源代码下载
- Git URL:
git://www.github.com/melix/jmh-gradle-plugin.git
- Git Clone代码到本地:
git clone http://www.github.com/melix/jmh-gradle-plugin
- Subversion代码到本地:
$ svn co --depth empty http://www.github.com/melix/jmh-gradle-plugin Checked out revision 1. $ cd repo $ svn up trunk
JMH Gradle插件
这个插件集成了 JMH微基准测试框架( ) 和 Gradle。
用法
生成用于所有Gradle版本的脚本 Fragment:
build.gradlebuildscript {
repositories {
jcenter()
maven {
url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "me.champeau.gradle:jmh-gradle-plugin:0.4.5" }
}
apply plugin: "me.champeau.gradle.jmh"
构建 Gradle 2.1中引入的新的,孵化的插件机制的脚本 Fragment:
build.gradleplugins {
id "me.champeau.gradle.jmh" version "0.4.5"}
要使用的插件版本?
Gradle插件版本
4.3 |
0.4.5 |
4.2 |
0.4.4 |
4.1 |
0.4.4 |
配置
插件使得集成到现有的项目中很容易,因为它有一个特定的配置。 尤其是,基准源文件应该在 src/jmh
目录中找到:
src/jmh
|- java : java sources for benchmarks
|- resources : resources for benchmarks
插件创建一个 jmh
配置,如果基准文件依赖 3rd 方库,则应该使用该配置。 例如如果要使用 commons-io
,则可以添加如下所示的依赖项:
dependencies {
jmh 'commons-io:commons-io:2.4'}
插件使用 JMH 1.19. 你可以通过更改 dependencies
块中的版本来升级版本:
dependencies {
jmh 'org.openjdk.jmh:jmh-core:0.9' jmh 'org.openjdk.jmh:jmh-generator-annprocess:0.9'}
命令行任务
项目将添加以下几个任务:
-
jmhClasses
: 编译原始基准代码 -
jmhRunBytecodeGenerator
: 通过原始基准代码运行字节码生成器并生成实际基准 -
jmhCompileGeneratedClasses
: 编译生成的基准 -
jmhJar
: 构建包含JHM运行时和编译后的基准类的JMH jar -
jmh
: 执行基准测试
jmh
任务是主要任务,取决于其他任务,因此执行这里任务通常足够:
gradle jmh
配置选项
默认情况下,将执行所有基准测试,并且结果将生成到 $buildDir/reports/jmh
。 但是,由于 jmh
配置块,你可以更改各种选项。 除了 include
之外的所有配置变量都是未设置的,这意味着它们回退到默认的JMH值: