在oracle jdk 8中进行性能测试的基准测试

时间:2014-06-04 13:11:48

标签: java performance benchmarking jmh

通常当我想测试性能时,我在运行代码之前使用System.nanoTime()函数,之后我正在做一个减法。最近我注意到人们正在使用

@OutputTimeUnit(TimeUnit.NANOSECONDS)
@BenchmarkMode(Mode.AverageTime)

它是openjdk中JMH的一部分。

我们正在使用Oracle jdk。我想知道是否有类似的工具或是否有另一种方法来构建,运行和分析纳米/微/毫/宏基准而不是编写System.nanoTime。

2 个答案:

答案 0 :(得分:3)

来自JMH网站:

  

JMH是一个Java工具,用于构建,运行和分析用Java和其他针对JVM的语言编写的nano / micro / milli / macro基准测试。

因此无论您是安装了OpenJDK还是Oracle的JDK,JMH都应该工作。 OpenJDK和Oracle的JDK都是针对JVM的语言的实现,所以我没有看到问题。

正如笔记一样 - 仅仅因为JMH 维护作为OpenJDK的一部分并不意味着它只是 用于OpenJDK。

答案 1 :(得分:2)

使用JMH进行性能测试包括maven中的依赖关系,如下所示

<dependency>
    <groupId>org.openjdk.jmh</groupId>
    <artifactId>jmh-core</artifactId>
    <version>1.11.2</version>
</dependency>

示例可以在http://psy-lob-saw.blogspot.in/2013/05/using-jmh-to-benchmark-multi-threaded.html

中找到
相关问题