java – JMH没有拿起类来进行基准测试
发布时间:2020-12-15 04:16:08 所属栏目:Java 来源:网络整理
导读:有一个错误,JMH没有把我的班级提升到基准. package com.stecurran.jmh.entry;import org.openjdk.jmh.Main;public class JmhRunner { private static final String TEST = "com.stecurra.benchmark.strategy.EventRunner"; public static void main(String[]
有一个错误,JMH没有把我的班级提升到基准.
package com.stecurran.jmh.entry; import org.openjdk.jmh.Main; public class JmhRunner { private static final String TEST = "com.stecurra.benchmark.strategy.EventRunner"; public static void main(String[] args) { Main.main(getArguments(TEST,5,5000,1)); } private static String[] getArguments(String className,int nRuns,int runForMilliseconds,int nThreads) { return new String[] { className,"-i","" + nRuns,"-r",runForMilliseconds + "ms","-t","" + nThreads,"-w","5000ms","-wi","3","-v" }; } } EventRunner包含的位置: package com.stecurra.benchmark.strategy; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.GenerateMicroBenchmark; import org.openjdk.jmh.annotations.Mode; @BenchmarkMode(Mode.AverageTime) public class EventRunner { @GenerateMicroBenchmark public void runTest(){ TimeStore.start = System.nanoTime(); // FacebookRetriever fbCal = FacebookRetriever.getInstance(); GoogleRetriever gCal = GoogleRetriever.getInstance(); CalendarService cs = new CalendarService(gCal); for (SimpleEvent simpleEvent : cs.getEvents()) { System.out.println(simpleEvent); } TimeStore.end = System.nanoTime(); System.out.println(TimeStore.getTime()); } } 我收到这个错误: 不包括:org.sample.MyBenchmark.testMethod,与com.stecurra.benchmark.strategy.EventRunner不匹配 如何更改我的正则表达式有效? 谢谢 解决方法
确保您实际编译了项目,让JMH注释处理器运行并为您生成基准列表.从你在那里的消息,很明显,EventRunner.test没有进入基准列表.
我们在这里,其他花絮: >劫持JMH Main可能是运行基准测试的简单方法,但是对于这样的用例我们有更好的Java API. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |