在Oracle JDK 8中的基准测试以进行性能测试
-
21-12-2019 - |
题
通常,当我想测试性能时,我在运行代码之前使用system.nanotime()函数,然后在它之后,我正在做一个减法。最近我注意到人们正在使用
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@BenchmarkMode(Mode.AverageTime)
.
它是 jmh 在OpenJDK中。
我们正在使用Oracle JDK。我想知道是否有类似的工具,或者是否还有另一种方式建造,运行和分析纳米/微/毫米/宏基准,而不是写作系统.NANOTIME。
解决方案
从JMH网站:
JMH是一个用于构建,运行和分析用Java和针对JVM的其他语言编写的纳米/微/毫米/宏基准的Java Harness。
所以,无论您是否安装OpenJDK或Oracle的JDK,JMH都应该奏效。OpenJDK和Oracle的JDK都是一种针对JVM的语言的实现,所以我没有看到一个问题。
就像一个注释 - 只要是因为jmh是保持,因为openjdk的一部分并不意味着它是含义 for OpenJDK。
其他提示
使用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
不隶属于 StackOverflow