다음 예제는 윈도우 환경에서 마이크로 세컨드 단위로 실행시간을 측정하는 방법에 대해서 설명하고 있습니다.
본 예제를 수행하기 위해서는 하드웨어 수준에서 고성능 타이머를 지원해야 하며,
고성능 타이머에 대한 지원 유무는 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; }
출처: http://blog.daum.net/aswip/4824607
'Computer > Windows' 카테고리의 다른 글
서브버전(Subversion) 사용법 (1) | 2013.12.10 |
---|---|
윈도우즈7 인터넷 시간 동기화 주기 강제 조절하기 (0) | 2013.06.23 |
윈도우 버전 확인 (2) | 2013.04.17 |
Disable Error Dialog in Windows Server 2008 / Vista (1) | 2012.02.07 |
윈도우 7, 2008 서버에서 오류보고창 뜨는것 막기 - disable wer(window error reporting) dialog in windows 7 and windows 2008 server (0) | 2012.02.07 |