프로그램 수행 시간 측정

반응형
http://www.sarangnamu.net/basic/basic_view.php?no=2245&page=81&sCategory=0

어떤 작업을 수행하는데 걸리는 시간을 알고 싶은 경우는 흔한 경우죠
그런데 방법을 잘몰라서 그냥 넘어가는 경우가 많죠.
아래 소개된 방법이 가장 일반적인 방법이며 이보다 나은 방법은 아마 없을
겁니다. 별루 어렵진 않으니 찬찬히 보세요.

컴퓨터에는 Clock Ticks라는 것이 있습니다. 그리고 운영체제에는 어떤
프로세스가 시작한지 얼마나 지났는지 알려주는 clock()함수를 가지고
있구요. 이것을 이용하는 것입니다.

clock_t current_tick = clock();  


이 코드로 현재 프로세스가 실행한지 얼마나 지났는지를 Clock Tick단위로
알수 있습니다. 시간을 알고 싶으시면 이 Clock Tick단위를 초단위로 변환
해주면 되죠.

double current_sec = current_tick / CLOCKS_PER_SEC;
이 코드가 Tick 단위를 초단위로 환산해주는 코드입니다.

CLOCKS_PER_SEC은 time.h화일에 정의되어 있는 상수입니다.

간단히 예제를 만들어 보면,

#include "stdio.h"
#include "time.h"

void main()
{
clock_t before;
double  result;

before  = clock(); // 여기서 시작 시간 기억해뒀다가

for ( int i = 0; i < 32765; i++ )
{
printf("%d\n", i );
}

result = (double)(clock() - before) / CLOCKS_PER_SEC; // 여기서 계산...

printf("걸린시간은 %5.2f 입니다.\n",result);
}

간단하기 위해 고전적인 스타일로 예를 들었지만 AppWizard로 만든 MFC환경에서
도 잘 돌아갑니다.

별루 어렵진 않았죠? 하지만 유용한 방법이니 잘 기억해 두시길 바랍니다.

'유용한 것들_func' 카테고리의 다른 글

파일 검색, 파일 찾기  (0) 2010.08.26
마우스 커서 설정.  (0) 2010.06.09
unicode에서 한글출력  (0) 2010.06.09
폴더지정 창 열기  (0) 2010.06.09
InterlockedIncrement(), InterlockedDecrement()  (0) 2010.06.04
TAGS.

Comments