728x90
반응형






프로그램 수행시간 또는 실행시간 측정하는 법






프로그래밍 중 특정 구간에서 코드 실행 시간을 알아내야 하는 경우에 쓰이는 방법이다.



C 또는 C++ 에서 프로그램 실행시간을 측정하는 방법은 크게 두 가지로 나뉘어 사용된다. 





1. time 함수 이용하기


#include <time.h> 헤더파일을 포함시키고 아래와 같이 사용한다. 


이와 같은 방법은 ms 단위가 아닌 초(s) 단위로 측정된다. 


#include <stdio.h>
#include <time.h>
 
int main() {
    time_t start, end;
    double result;
 
    start = time(NULL); // 수행 시간 측정 시작

    /* 수행시간 측정하고자 하는 코드 */

    end = time(NULL); // 시간 측정 끝
    result = (double)(end - start);

    // 결과 출력
    printf("%f", result); 

    return 0;
}





2. clock 함수 이용하기


ms 단위로 시간을 측정 할 수 있다. 마찬가지로 #include <time.h> 헤더 파일을 포함시켜야 한다.



마이크로 초(ms) 단위를 초(s)로 나타내려면 CLOCKS_PER_SEC 으로 나누어 나타내면 된다. 


CLOCKS_PER_SEC는 매크로인데 

clock_t 의 값을 CLOCK_PER_SEC 으로 나누면 소모한 시간 (clock ticks per second)가 나온다. 
#include <stdio.h>
#include <time.h>
 
int main() {    
    clock_t start, end;
    double result;
 
    start = clock(); // 수행 시간 측정 시작
    
    /* 수행시간 측정하고자 하는 코드 */

    end = clock(); //시간 측정 끝
    result = (double)(end - start);

    // 결과 출력
    cout << "result : " << ((result) / CLOCKS_PER_SEC) << " seconds" << endl;
    printf("%f", result / CLOCKS_PER_SEC);
    // 또는 cout << "result : " << result << " microseconds" << endl;
    // 또는 printf("%f", result);

    return 0;
}






참고자료 1 : http://blockdmask.tistory.com/187

참고자료 2 : http://hijuworld.tistory.com/1






728x90
반응형