반응형
출처 - 여기여기
다음 예제는 윈도우 환경에서 마이크로 세컨드 단위로 실행시간을 측정하는 방법에 대해서 설명하고 있습니다.
본 예제를 수행하기 위해서는 하드웨어 수준에서 고성능 타이머를 지원해야 하며,
고성능 타이머에 대한 지원 유무는
QueryPerformanceFrequency() 의 리턴값으로 확인이 가능합니다.
=>
QueryPerformanceFrequency()
리턴값이
'TRUE'
일 경우 하드웨어 수준에서 고성능 타이머를 지원함.
#include <windows.h>
#include <stdio.h>
__int64 GetMicroSecond()
{
LARGE_INTEGER frequency;
LARGE_INTEGER now;
if ( !QueryPerformanceFrequency(&frequency) )
return (__int64)GetTickCount();
if ( !QueryPerformanceCounter(&now) )
return (__int64)GetTickCount();
return ((now.QuadPart) / (frequency.QuadPart/1000000));
}
int main(int argc, char* argv[])
{
__int64 tStart = 0;
tStart = GetMicroSecond();
Sleep(10);
printf("elapsed time : %I64d microsec\n", GetMicroSecond() - tStart);
return 0;
}
반응형
'C & C++ > C & C++' 카테고리의 다른 글
한글, 영어, 숫자 구분하기 (0) | 2014.12.03 |
---|---|
스레드 사용법 (0) | 2014.12.01 |
윈도우 콘솔( Console ) 실행 (0) | 2014.05.12 |
유니 코드( Unicode ) 환경에서의 WM_COPYDATA 쓰레기 값 제거 (0) | 2014.04.29 |
배열 요소의 크기 구하기 (0) | 2014.03.07 |
댓글