JMH基准测试框架
- 源代码名称: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。
用法
生成用于所有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 jarjmh
: 执行基准测试
jmh
任务是主要任务,取决于其他任务,因此执行这里任务通常足够:
gradle jmh
配置选项
默认情况下,将执行所有基准测试,并且结果将生成到 $buildDir/reports/jmh
。 但是,由于 jmh
配置块,你可以更改各种选项。 除了 include
之外的所有配置变量都是未设置的,这意味着它们回退到默认的JMH值:
JMH基准测试框架的更多相关文章
- JMH 性能测试框架
参考 1 Java 并发编程笔记:JMH 性能测试框架 http://blog.dyngr.com/blog/2016/10/29/introduction-of-jmh/ 2 Code Samp ...
- 更准确的测试Java程序性能——JMH基准测试
什么是JMH JMH,即Java Microbenchmark Harness,Java平台下的一套微基准测试工具.如果我们需要测试API性能的话,就可以用上这个工具,所以它并不是取代单元测试的. ...
- 【Code Tools】Java微基准测试工具JMH之入门篇
一.JMH是什么 JMH是一个Java工具,用于构建.运行和分析用Java和其他语言编写的以JVM为目标的 nano/micro/milli/macro 基准测试. 二.基本注意事项 1)运行JMH基 ...
- 【基准测试】JMH 简单入门
JMH 简单入门 什么是 JMH JMH 是 Java Microbenchmark Harness 的缩写.中文意思大致是 "JAVA 微基准测试套件".首先先明白什么是&quo ...
- JMH使用说明
JMH使用说明 一.概述 JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件.何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测 ...
- JMH-大厂是如何使用JMH进行Java代码性能测试的?必须掌握!
Java 性能测试难题 现在的 JVM 已经越来越为智能,它可以在编译阶段.加载阶段.运行阶段对代码进行优化.比如你写了一段不怎么聪明的代码,到了 JVM 这里,它发现几处可以优化的地方,就顺手帮你优 ...
- Java基准性能测试--JMH使用介绍
JMH是什么 JMH是Java Microbenchmark Harness的简称,一个针对Java做基准测试的工具,是由开发JVM的那群人开发的.想准确的对一段代码做基准性能测试并不容易,因为JVM ...
- Go语言单元测试与基准测试
目录 单元测试 概述 go test参数解读 单元测试日志 基准测试 基础测试基本使用 基准测试原理 自定义测试时间 测试内存 控制计时器 Go语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码 ...
- Go 基准测试
文章转载地址:https://www.flysnow.org/2017/05/21/go-in-action-go-benchmark-test.html 什么是基准测试? 基准测试 ...
随机推荐
- Ansible 系统概述与部署
Ansible 系统概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet但是有一个不同和优点是我们不需要在节点中安装 ...
- macOS Sierra 如何安装任何来源的软件
为了安全性考虑,macos是要手动勾选来自任何来源的选项才可以安装第三方应用软件,系统升级后,在新的系统中这一项是默认不显示的,如果想要出现和这一勾选选项,可以从终端中输入 sudo spctl -- ...
- MySql查询进阶
1.1 as关键字 用于 给显示结果中字段 或者 表 起别名 select 别名.字段名 from 表名 as 别名 where 条件语句 # 对字段起别名 select id as '编号', na ...
- reduce一些方法对数组进行的处理
reduce方法我之前都整理了知识点,不懂的可以看一下我之前的知识点,这次我们是整理了一些关于用reduce方法进行的一些对于数组的处理 1. reduce()求数组项之和 var arr = [3, ...
- abap 优化之ST05
DATA: gt_mara TYPE TABLE OF mara. SELECT * INTO TABLE gt_mara FROM mara WHERE MATKL = 'L000001' %_hi ...
- springboot访问出错,mapperScan导包错误java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() at java.lang.Class.getConstructor0(Class.java:3082) ~[na:1.8.0_172] at java.
2019-08-06 12:42:03.153 ERROR 10080 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Se ...
- js带有遮罩的弹窗
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 如何删掉git版本库master分支的第一个commit
这个操作会将库清空,一般来说在建库开始的时候操作. 适用场景: git init初始化版本库之后,提交第一个点之后发现这个点出问题了,但是此时内心如果有洁癖的话, 你会觉得不完美,很想把这个点干掉重来 ...
- 微信公众号开发者中心配置 Token验证失败 终极解决方案
请您检查这几项: 1. 在您的URL(服务器地址)页面里,直接Get获取echostr参数打印到页面上. 在火狐浏览器里Firebug里面看到echostr前面多了几个乱码. 把您开发者设置的URL页 ...
- select,poll.epoll区别于联系
select,poll,epoll都是IO多路复用中的模型.再介绍他们特点时,先来看看多路复用的 模型. 同其他IO的不同的是,IO多路复用一次可以等多个文件描述符.大大提高了等待数据准备好的时间的效 ...