2012-11-25 2 views
2

Windows 플랫폼에서 기본 C++ 코드의 초 단위 경과 시간을 측정하는 좋은 방법은 무엇입니까? (Windows Vista, Visual Studio 2010에서 작업 중입니다)Windows 플랫폼에서 기본 C++의 2 초 경과 시간 측정

내가

#include <ctime> 

int main() 
{  
    clock_t start = clock(); 
    ... some code 
    clock_t end = clock(); 
    double cpu_time = static_cast<double>(end - start)/CLOCKS_PER_SEC; 
} 

하지만 cpu_time 항상 0이다 사용하여 시도했다.

감사합니다.

+2

C++ (11)의 평균 실행 시간을 계산 할 수있는 추가 혜택이 것은'을'이있다. – chris

+2

루프에서'some code'를 넣고 나누면 될까요? 또한,'end'와'start'를 출력하여 그들이 전혀 다른지 살펴보십시오. – Xymostech

+0

@chris 나는 Windows 7 및 Visual Studio 2012 사본을 가지고 있으며, 을 시도 할 것입니다. – newprint

답변

2

QueryPerformanceFrequencyQueryPerformanceCounter WinAPI 기능을 사용할 수 있습니다. Example

0

코드가 유효하고 작동합니다. 특정 코드의 실행을 시간에 맞추려고한다면 Xymostech에서 제안한 것처럼 루프를 통해 실행해야합니다. 주요 이유 :

  • 코드 조각이 매우 빠르게 실행됩니다. 경우에 따라 시작, 코드 스 니펫 및 타이머 종료 시간을 동일한 시계 틱으로 실행하십시오. 과 같은 값인 start이 표시되어 cpu_time이 0이됩니다.

그러나, 많은 반복