"No matching benchmarks" when running JMH from main in eclipse
jmh-dev@ is a better way to communicate this with the developers.
Few things to try:
- Hijacking
Main
is probably not a good idea. Use Java API instead, like this sample. - Use
-v extra
to debug the pattern matching: either the filter regexp is incorrect, or there are no benchmarks to run. - If the regexp is incorrect, fix it.
- If there are no benchmarks to match against, then there is a chance resources are not generated and/or picked up properly. Make sure
target/classes/
is also available on classpath.
Okay, so looks like by default jmh looks for generated classes under META-INF/Microbenchmarks, which maven build puts under root of the project. However root of the eclipse project is not on the classpath, so executing it in IDE results in "no benchmarks found".
I got it running following way:
- mvn clean package (using external maven installation, not embded in eclipse)
- Right-click on jmh-samples project, select "Build Path -> Use as a source folder"
- You can now run any of the benchmarks from jmh-samples as Java Application in eclipse
On the downside you get like 1000+ "errors" in Problems view, since eclipse gets confused with auto-generated files, but oh well, at least it works.