根据JEP 230: Microbenchmark Suite,存在Java 12内置的微基准测试套件。JEP解释说它基本上是JMH,但不需要使用Maven / Gradle明确依赖它。但是,它没有指定如何访问属于该套件的类/注释来执行基准测试。
我的问题是:
module-info.java
中是否需要一个特定的Java模块才能使用此套件?答案 0 :(得分:6)
您的解释不正确。 JEP说:
在 JDK源代码中添加一组基本的微基准,使开发人员可以轻松地运行现有的微基准并创建新的微基准。
即这不一定会使它成为JDK发行版,而只是将其添加到源代码存储库中,以使其更易于在JDK代码上运行基准测试。虽然,公平地说,它是listed作为JDK 12“功能”之一的事实似乎有点误导。
可以使用OpenJDK构建系统来运行基准测试。从http://hg.openjdk.java.net/jdk/jdk/
(或其他包含JEP的存储库)克隆OpenJDK源代码后,您可以运行基准测试,例如通过使用:
make test TEST="micro:java.lang.reflect"
基准位于\test\micro\
目录中。另请参见文档:http://hg.openjdk.java.net/jdk/jdk/raw-file/ddfb658c8ce3/doc/testing.html#microbenchmarks
此外,这要求您在生成构建配置时指定JMH及其依赖项:
bash configure --with-jmh="/path/to/jmh/jars"
所需的jar为:commons-math3,jmh-core,jmh-generator-annprocess和jopt-simple。