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 什么是基准测试? 基准测试 ...
随机推荐
- java实现的LinkedLilst
package javabean.adt.List; import java.util.ConcurrentModificationException; import java.util.Iterat ...
- numpy:np.random.seed()
np.random.seed()函数可以保证生成的随机数具有可预测性. 可以使多次生成的随机数相同 1.如果使用相同的seed( )值,则每次生成的随即数都相同: 2.如果不设置这个值,则系统根据时间 ...
- 对xxl-job进行simpleTrigger并动态创建任务扩展
业务场景 需求上要求能实现quartz的simpleTrigger任务,同时还需要动态的创建任务而非在控制面板上创建,查阅xxl-job官方文档发现simpelTrigger其暂时还躺在to do l ...
- linux CUDA安装
首先是安装依赖库 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-m ...
- 关于页面多个ajax请求阻塞的问题
最近遇到一个问题,我的一个页面有多个ajax请求,但是一个很快的请求却需要很长时间才返回,而且慢于一个耗时比较长的请求,我在考虑是不是有ajax异步并发有问题,但是查询了一些资料,ajax不存在这样的 ...
- pat (B)_1002
1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 1 ...
- textarea 限制输入字数
一般情况下很多人限制textarea的输入字数会使用 onkeyup 或 onchange事件,但是这两种事件都带有明显的不足. onkeyup 事件只能监听键盘事件,而对于用户的粘贴毫无办法:而on ...
- Ansible-Playbook实战
一.Playbook 实战案例 1.准备环境 角色 外网IP(NAT) 内网IP(LAN) 部署软件 m01 eth0:10.0.0.61 eth1:172.16.1.61 ansible ly-ba ...
- 第二篇.1、python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- 韦东山嵌入式Linux学习笔记08--中断体系结构
中断是什么? 举个栗子, 系统怎么知道你什么时候插入鼠标这个设备? 可以有两种处理方式: 1. 查询方式: 轮询去检测是否有设备插入; 2. 中断的方式 当鼠标插入这个事件发生时, 置位某个寄存器,告 ...