Java MicroBenchmarking Harness忽略了基准选项

时间:2017-12-12 09:09:51

标签: java java-8 benchmarking openjdk jmh

我正在使用OpenJDK JMH,虽然我尝试注释方法和运行它的类,但它仍将使用默认值运行。我正在使用jUnit从tests文件夹运行此基准测试。

public class BenchmarkRunner {

    @Test
    public static void main(String argv[]) throws Exception
    {
        org.openjdk.jmh.Main.main(argv);
    }
}

如果我注释类或方法,那无关紧要:

@Warmup(iterations = 5, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 5, timeUnit = TimeUnit.MILLISECONDS)
@Fork(value = 3)
@BenchmarkMode(Mode.AverageTime)
public class MyBenchmark {

    @Benchmark
    public void testMethod()
    {
        testHashFinderMethod_1();
    }


    private void testHashFinderMethod_1()
    {
        HashFinder hashFinder_1 = new HashFinder("TeSt",'A','z');
        hashFinder_1.findHash("");
    }
}

1 个答案:

答案 0 :(得分:0)

问题是我使用jUnit tests注释从@test文件夹运行基准测试。移动它并从src文件夹运行它,它可以工作。