Entering Hyperspace by Éole |
코딩을 하다보면 특정 코드 부분의 수행 속도를 측정해야 될때가 있다.
아래 3개의 코드가 수행 속도를 측정하는 코드들이다.
* Code2가 셋 중에서는 가장 정확하다.
[Code 1] time.h를 이용하는 방법
#includeint main( void ) { clock_t startTime = clock(); // 코드 실행 전 시간을 구한다. // 여기에 수행속도를 측정할 코드를 입력 clock_t endTime = clock(); // 코드 실행 후 시간을 구한다. // 코드 실행 시간을 초로 변환한다. double codeExcuteTime = ( ( double )( endTime - startTime ) ) / CLOCKS_PER_SEC; return 0; }
[Code 2] Window의 High-Resolution Performance Counter 이용하는 방법
#include
[Code 3] Assemble를 이용하는 방법
__int64 nStartcount;
_asm rdtsc
_asm lea ebx, nStartcount
// 코드 실행 전 시간을 구한다.
_asm mov dword ptr [ebx], eax
_asm mov dword ptr [ebx+4], edx
// 여기에 수행속도를 측정할 코드를 입력
__int64 nEndcount;
_asm rdtsc
_asm lea ebx, nEndcount
// 코드 실행 후 시간을 구한다.
_asm mov dword ptr [ebx], eax
_asm mov dword ptr [ebx+4], edx
double nTime = ( nEndcount - nStartcount ) / 2000000.0; // 코드 실행 시간을 초로 변환한다.
'Programing > C/C++/STL' 카테고리의 다른 글
[C/C++]메모리 영역 구분 (0) | 2009.08.27 |
---|---|
[C++] 멤버 함수포인터 사용하기 (0) | 2009.07.22 |
[C++] explicit 키워드 (0) | 2009.07.14 |
OpenMP 라고 아십니까?? (0) | 2009.06.30 |
CppUnit CookBook (0) | 2009.04.29 |