[C, C++] clock()함수를 이용해 코드 실행시간 측정하기
clock() 함수를 이용해 코드의 실행 시간을 측정해보자.
환경
- C, C++
방법과 예제
사용법
clock()
:time.h
에 들어있는 함수로 프로그램에 의해 프로세서가 소비된 시간을 반환하는 함수입니다. 프로세서가 측정한 프로그램 실행시간이라 볼 수 있습니다.clock_t
: clock ticks의 자료를 담고 있는 자료형으로 clock()의 반환형입니다.CLOCKS_PER_SEC
: 초당 clock ticks의 수를 나타낸 매크로로 시스템에 따라 기본 값이 다르며 시간을 표시하기 위해 아래 예제처럼 사용합니다.
#include <stdio.h>
#include <time.h> // time.h 헤더 파일을 include 해줘야합니다.
int main(){
clock_t start = clock(); // 시작 시간 저장
// 필요한 코드들 작성
clock_t end = clock(); // 코드가 끝난 시간 저장
// 걸린 시간 출력
// 단위: 초(second)
// CLOCKS_PER_SEC로 나눠줘야 초단위로 나옵니다.
printf("Time: %lf\n", (double)(end - start)/CLOCKS_PER_SEC);
return 0;
}
예제
- 이중 for문을 이용한 시간 측정
#include <stdio.h>
#include <time.h> // time.h 헤더 파일을 include 해줘야합니다.
#define ITERATION_TIME 100000
int main (){
clock_t start = clock(); // 시작 시간 저장
for(int i = 0; i < ITERATION_TIME; ++i){
for(int j = 0; j < ITERATION_TIME; ++j)
int do_something;
}
clock_t end = clock(); // 코드가 끝난 시간 저장
// 걸린 시간 출력
// 단위: 초(second)
// CLOCKS_PER_SEC로 나눠줘야 초단위로 나옵니다.
printf("Time: %lf\n",(double)(end - start)/CLOCKS_PER_SEC);
}
- 결과
$ g++ practice_board.cpp -o practice_board
$ ./practice_board
Time: 18.825036