【问题标题】:JMH Benchmark running only testMethod()仅运行 testMethod() 的 JMH 基准测试
【发布时间】:2018-09-10 12:17:51
【问题描述】:

公共类 MyBenchmark {

@Benchmark
public void otherMethod() {
}

@Benchmark
public void sessionCreation() {
}

public static void main(String[] args) throws RunnerException {
    Options opt = new OptionsBuilder().include(MyBenchmark.class.getSimpleName()).forks(1).build();
    new Runner(opt).run();
}

运行到以下错误:

java.lang.NoSuchMethodError: tesco.finance.gss.generated.MyBenchmark_jmhType.testMethod()V
    at tesco.finance.gss.generated.MyBenchmark_testMethod_jmhTest.testMethod_thrpt_jmhStub(MyBenchmark_testMethod_jmhTest.java:119)
    at tesco.finance.gss.generated.MyBenchmark_testMethod_jmhTest.testMethod_Throughput(MyBenchmark_testMethod_jmhTest.java:83)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
    at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

【问题讨论】:

    标签: java jmh


    【解决方案1】:

    解决方案是执行 mvn clean install,然后再次运行该程序。像魅力一样工作!

    【讨论】:

    • 感谢有类似的错误信息:NoSuchMethodError: 'void master.benchmark.generated.CompareBenchmark_jmhType.setUpRandom()'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    相关资源
    最近更新 更多