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

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

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

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

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



<실험>

 + 미리 전역변수로 선언하고 그 변수에 값만 할당하는 함수 vs 함수 내부에서 변수를 선언하고 값을 할당하는 함수

 + 해당 함수들을 1)1억번, 2)1천번 반복 후, 걸리는 시간을 측정!


<코드>

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include<iostream>
#include<ctime>
using namespace std;
 
#define FOR(x,y) for(int i = (x); i<(y); i++)
#define MAX 100000000
 
int temp1;
int temp11;
int temp111;
int temp1111;
int temp11111;
 
void asdf() {
    temp1 = 4;
    temp11 = 4;
    temp111 = 4;
    temp1111 = 4;
    temp11111 = 4;
    FOR(010) {
        temp1 += i;
    }
}
 
void asdf2() {
    int temp2 = 4;
    int temp22 = 4;
    int temp222 = 4;
    int temp2222 = 4;
    int temp22222 = 4;
    FOR(010) {
        temp2 += i;
    }
}
 
void main() {
    clock_t start, end;
 
    start = clock();
 
    FOR(0, MAX) {
        asdf();
    }
 
    end = clock();
 
    printf("%.3lf \n", (double)(end - start) / CLOCKS_PER_SEC);
 
    start = clock();
 
    FOR(0, MAX) {
        asdf2();
    }
 
    end = clock();
 
    printf("%.3lf", (double)(end - start) / CLOCKS_PER_SEC);
}
cs


<결과>

[1억번]

1. 3.359s vs 3.313s 

2. 3.524s vs 3.331s

3. 3.367s vs 3.333s

 

[1천번]

1. 0.339s vs 0.337s

2. 0.333s vs 0.330s

3. 0.339s vs 0.347s


   => 1억번해도 0.5초도 차이 나지 않는 차이를 가진다!!! 



 + 이 글을 보시는 분들 중, 혹시 제가 놓치는 부분이나 잘못된 부분이 있다면, 말씀해주시면 감사하겠습니다~!


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

'재료들 > C, C++(STL 포함)' 카테고리의 다른 글

[C++] const 키워드 사용하기  (0) 2020.01.19
시간 측정하기!!!  (0) 2018.07.02
[STL] Vector에 관해서  (0) 2018.04.14
[Error] Visual Studio Error (추가 중)  (0) 2018.04.14
[Override][Overloading] 함수 재정의  (0) 2018.04.14

+ Recent posts