+ 이 글은 작성자가 직접 공부하고 복습하며 작성한 글입니다. 만약 직접 작성하지 않았다면, 꼭 출처를 밝히겠습니다!
+ 이 글은 개인적인 공부를 바탕으로 작성되었기에, 틀린 부분이 있을 수 있으며, 틀린 부분이 있다면 알려주시면 감사하겠습니다!
+ 이 글을 다른 곳으로 가져가신다면, 꼭 출처를 남겨주세요~
+ '참고사이트'는 공부하기 위해 참고한 사이트들을 모아 둔 것입니다.
+ 혹시라도 문제가 된다면 바로 조취를 취할테니, 말해주시면 감사하겠습니다!
<실험>
+ 미리 전역변수로 선언하고 그 변수에 값만 할당하는 함수 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(0, 10) { temp1 += i; } } void asdf2() { int temp2 = 4; int temp22 = 4; int temp222 = 4; int temp2222 = 4; int temp22222 = 4; FOR(0, 10) { 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 |