+ 이 글은 작성자가 직접 공부하고 복습하며 작성한 글입니다. 만약 직접 작성하지 않았다면, 꼭 출처를 밝히겠습니다!

 + 이 글은 개인적인 공부를 바탕으로 작성되었기에, 틀린 부분이 있을 수 있으며, 틀린 부분이 있다면 알려주시면 감사하겠습니다!

 + 이 글을 다른 곳으로 가져가신다면, 꼭 출처를 남겨주세요~

 + '참고사이트'는 공부하기 위해 참고한 사이트들을 모아 둔 것입니다.

 + 혹시라도 문제가 된다면 바로 조취를 취할테니, 말해주시면 감사하겠습니다!


<clock()>

[Return]

 + 프로그램이 실행되고 나서 실행된 클럭 수를 반환합니다.


[Remarks]

 + 기본적으로 Microsoft에서는 1초 == 1000클럭으로 정의합니다. 따라서, 실행된 클럭 수를 비교해서, 그 차이만큼을 CLOCK_PER_SEC(==1000)로 나눠 실행시간을 측정합니다.

 + 이 함수는 최대 2147483.647초의 최대 클럭 기능 반환 값을 제공합니다. 이 시간보다 오래 실행된 프로세스에서 시계가 반환하는 값에 의존하지 마십시오.



<사용>

1. #include<ctime> 선언

2. clock_t 데이터형을 가진 변수 선언.(start, end)

3. clock()을 통해 start와 end에 실행된 클럭 수를 입력

4. start와 end 차이를 CLOCKS_PER_SEC로 나눠 실행시간 파악



<예시>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
#include<ctime>
using namespace std;
 
#define FOR(x,y) for(int i = (x); i<(y); i++)
#define MAX 1000000
 
void asdf() {
    int temp1 = 0;
 
    FOR(010) {
        temp1 += i;
    }
}
 
void main() {
    clock_t start, end;
 
    // 시작 시간
    start = clock();
 
    FOR(0, MAX) {
        asdf();
    }
 
    // 끝난 시간
    end = clock();
 
    // 출력
    printf("%.3lf \n", (double)(end - start) / CLOCKS_PER_SEC);
}
cs




Copyright © -강정이좋아- 무단 전재 및 재배포는 하지 말아주세요.

+ Recent posts