根据JEP 230:Microbenchmark Suite,存在一个内置的Microbenchmark Suite套件12.gradle。但是,它没有指定如何访问属于套件的类/注释以执行基准。
我的问题是:
- 我需要在
module-info.java
中需要一个特定的Java模块才能使用此套件吗? - 该套件的类/注释位于? 中
- 这个套件和JMH之间是否有任何重大区别?
您的解释不正确。JEP说:
向 JDK源代码添加基本的微型计算标准套件,并使开发人员可以轻松运行现有的Microbenchs并创建新的Microbenchs。
即。这不一定是将其纳入JDK分发的功能,只是将其添加到源代码存储库中,以使在JDK代码上运行基准标准更加容易。公平地说,它被列为JDK 12"功能"的事实似乎有点误导。
可以使用OpenJDK构建系统运行基准测试。将OpenJDK源代码从https://github.com/openjdk/jdk
(或其他包含jep包含jep)的openJDK源代码克隆之后,您可以运行基准测试,例如。通过使用:
make test TEST="micro:java.lang.reflect"
基准位于testmicro
目录中。另请参见文档:https://github.com/openjdk/jdk/blob/master/master/doc/testing.md#microbchenchs
另外,这需要您指定JMH,并且在生成构建配置时是依赖性:
bash configure --with-jmh="/path/to/jmh/jars"
指定的路径应指向包含JMH罐子的目录。必需的罐子是:Commons-Math3,JMH核,JMH-Generator-Annprocess和Jopt-simple。