2017-12-12 33 views
0

OpenJDK JMH를 사용하고 있으며 메소드와 실행 클래스에 모두 주석을 달았지만 기본적으로 실행됩니다. jUnit을 사용하여 테스트 폴더에서이 벤치 마크를 실행하고 있습니다.Java MicroBenchmarking 하네스 벤치 마크 옵션을 무시합니다.

@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(""); 
    } 
} 

답변

0

문제는 내가 JUnit을에게 @test 주석을 사용하여 tests 폴더에서 벤치 마크를 실행 한 것이 었습니다 : I 클래스 나 메소드에 주석을 경우

public class BenchmarkRunner { 

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

그것은 나던 문제. 그것을 옮겨서 src 폴더에서 실행하면 작동합니다.