pit*_*chr 7 java eclipse microbenchmark maven jmh
我想开始看一下JMH,由于某些原因我无法运行基准测试.让我解释一下我的尝试:
定义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
但是这会产生输出:
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)
Run Code Online (Sandbox Code Playgroud)
我用google搜索,似乎上面的例子应该可行,但对我来说情况并非如此.我也尝试通过阅读来解决这个问题,但这对我来说似乎不起作用:
我试图将生成的类手动移动到/ 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)
Run Code Online (Sandbox Code Playgroud)似乎JMH应该在/ META-INF/MicroBenchmarks中产生一些有效的行 - 意味着在这个文件夹中不应该生成java类文件,对吗?
任何人都可以帮我找到错误吗?谢谢.
Ole*_*hin 14
除了像往常一样编译之外,基准"源代码"还需要由JMH注释处理器处理.在JMH 0.5之前,注释处理器是主JMH工件的一部分,因此单个依赖jmh-core就足够了.在JMH 0.5中,注释处理功能被提取到单独的工件中以便于支持其他语言.
为了使注释处理器回到"旧的"基于Java的JMH项目中,应该声明对处理器工件的附加依赖:
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<!--
the processor artifact is required only during compilation and
does not need to be transitive, hence provided scope
-->
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于新的JMH项目,最简单的方法是使用适当的语言特定原型(除Java之外,还有Scala,Groovy和Kotlin 原型)生成新项目,如JMH主页中所述.
mvn archetype:generate \
-DinteractiveMode=false \
-DarchetypeGroupId=org.openjdk.jmh \
-DarchetypeArtifactId=jmh-java-benchmark-archetype \
-DgroupId=my.benchmark.group \
-DartifactId=MyBenchMarkArtifact \
-Dversion=1.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7241 次 |
| 最近记录: |