두 경우 모두 동일한 데이터 세트를 사용하여 실제 알고리즘의 두 가지 구현에서 일반적인 "A/B 테스트"와 같은 방식으로 접근하려고합니다. 이 알고리즘은 실행 측면에서 결정적이므로 결과를 반복 할 수있을 것으로 기대합니다.i7에서 Java 성능을 측정하는 방법은 무엇입니까?
코어 2 듀오에서도 마찬가지입니다. linux "time"명령을 사용하면 약 0.1 % (10 회 이상 실행)의 실행 시간이 다양해집니다.
i7에서 모든 종류의 변형을 얻을 수 있으며 평균에서 30 %의 변형을 쉽게 얻을 수 있습니다. 나는 이것이 i7이하는 다양한 CPU 최적화 (동적 오버 클럭킹 등)로 인한 것이라고 생각하지만, 실제로 이런 종류의 테스트를하기가 어렵습니다. 2 가지 알고리즘 중 "가장 좋은"알고리즘, 사용할 수있는 다른 유용한 메트릭스를 결정하는 다른 방법이 있습니까?
편집 : 알고리즘은 매우 오래 지속되지 않으며 실제로 벤치마킹하려는 실제 시나리오입니다. 반복적으로 달리기는 실제로 그런 선택 사항이 아닙니다.
이러한 CPU 최적화를 비활성화 할 수 있습니까? 아마도 커스텀 커널을 컴파일하거나/proc 플래그를 설정하는 것일까? –