• JMH基准测试框架


    • 显示原文与译文双语对照的内容
    文章标签:Gradle  JMH  基准  INT  benchmark  framework    
    Integrates the JMH benchmarking framework with Gradle
     

    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插件

    Build Status (travis)Coverage Status (coveralls)DownloadApache License 2

    这个插件集成了 JMH微基准测试框架( ) 和 Gradle。

    用法

    生成用于所有Gradle版本的脚本 Fragment:

    build.gradle
    buildscript {
     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.gradle
    plugins {
     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,则可以添加如下所示的依赖项:

    build.gradle
    dependencies {
     jmh 'commons-io:commons-io:2.4'}

    插件使用 JMH 1.19. 你可以通过更改 dependencies 块中的版本来升级版本:

    build.gradle
    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值:

  • 相关阅读:
    io流
    JDBC-java数据库连接
    list接口、set接口、map接口、异常
    集合、迭代器、增强for
    math类和biginteger类
    基本包装类和System类
    正则表达式
    API-Object-equals方法和toString方法 Strinig字符串和StingBuffer类
    匿名对象 内部类 包 访问修饰符 代码块
    final 和 static 关键词
  • 原文地址:https://www.cnblogs.com/vana/p/10967546.html
Copyright © 2020-2023  润新知