我想开始看看 JMH,但由于某些原因,我无法运行基准测试。让我解释一下我的尝试:
- 在 Eclipse 中设置一个 Maven 项目
定义 pom.xml 如下:
下载了一些官方的 JMH 示例。作为示例,我选择了一个非常简单且不错的起点: http ://hg.openjdk.java.net/code-tools/jmh/file/0c58dc4fcf17/jmh-samples/src/main/java/org/openjdk /jmh/samples/JMHSample_01_HelloWorld.java
- 鼠标右键单击 > 运行方式 > Java 应用程序
然而,这会产生输出:
Exception in thread "main" No benchmarks to run; check the include/exclude regexps.
at org.openjdk.jmh.runner.Runner.run(Runner.java:155)
at org.openjdk.jmh.samples.JMHSample_01_HelloWorld.main(JMHSample_01_HelloWorld.java:90)
我用谷歌搜索过,上面的例子似乎应该可以工作,但对我来说不是这样。我也试图通过阅读来解决这个问题,但这似乎对我不起作用:
- 在 Eclipse 中从 main 运行 JMH 时出现“没有匹配的基准”
我试图将生成的类手动移动到 /META-INF/MicroBenchmarks 但这会产生以下错误:
Exception in thread "main" java.lang.IllegalStateException: Mismatched format for the line: JMHSample_01_HelloWorld.class at org.openjdk.jmh.runner.BenchmarkRecord.<init>(BenchmarkRecord.java:92) at org.openjdk.jmh.runner.MicroBenchmarkList.find(MicroBenchmarkList.java:133) at org.openjdk.jmh.runner.Runner.run(Runner.java:150) at JMHSample_01_HelloWorld.main(JMHSample_01_HelloWorld.java:80)
似乎 JMH 应该在 /META-INF/MicroBenchmarks 中生成一些有效的行——这意味着在这个文件夹中不应该生成 java 类文件,对吗?
谁能帮我找出错误?谢谢你。