通常,当我想测试性能时,我在运行代码之前使用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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top