[C , C++]
C, C++ 코드 실행 시간 / clock() 함수 / time() 함수
말하는펭귄
2020. 8. 6. 16:46
728x90
반응형
오늘은 C, C++ 프로그램에서 코드가 실행되는데 걸리는 시간을 측정하는 방법을 포스팅하겠습니다.
C와 C++의 스타일 차이는 크게 헤더파일과 출력 부분이 있으니 본인의 코딩 방식에 맞는 스타일을 사용하면 되겠습니다.
주석 처리한 /*실행 시간을 측정하고 싶은 코드*/ 부분에 본인의 코드를 넣어 사용하면 될 것입니다.
1. clock() 함수를 이용한 방법
clock() 함수는 기본 ms단위로 측정합니다.
clock() 함수는 1초에 1000 clock으로 정의되어 있으므로 1 clock은 1ms 입니다.
따라서 미리초 단위가 아닌 초 단위의 측정을 원한다면 최종적으로 구하는 값인 (finish-start)의 값을 CLOCKS_PER_SEC로 나누어 주면 됩니다.
C style
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
#include <time.h>
int main() {
clock_t start, finish;
double duration;
start = clock();
/*실행 시간을 측정하고 싶은 코드*/
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("%f초", duration);
return 0;
}
|
cs |
C++ style
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
#include <ctime>
using namespace std;
int main() {
clock_t start, finish;
double duration;
start = clock();
/*실행 시간을 측정하고 싶은 코드*/
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
cout << duration << "초" << endl;
return 0;
}
|
cs |
2. time() 함수를 이용한 방법
time() 함수는 기본 초(s) 단위로 측정합니다.
C style
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <stdio.h>
#include <time.h>
int main() {
time_t start, finish;
double duration;
start = time(NULL);
/*실행 시간을 측정하고 싶은 코드*/
finish = time(NULL);
duration = (double)(finish - start);
printf("%f초", duration);
return 0;
}
|
cs |
C++ style
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
#include <ctime>
using namespace std;
int main() {
time_t start, finish;
double duration;
start = time(NULL);
/*실행 시간을 측정하고 싶은 코드*/
finish = time(NULL);
duration = (double)(finish - start);
cout << duration << "초" << endl;
return 0;
}
|
cs |
728x90
반응형