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 | // cpp 테스트 #include <intrin.h> #include <iostream> #define TEST_CASE 1000000 int main(void) { unsigned __int64 begin, end, result; begin = __rdtsc(); for (unsigned int i = 0; i < TEST_CASE; i++) { std::printf(""); } end = __rdtsc(); result = end - begin; printf("%d", result); } //c 테스트 #include <intrin.h> #include <stdio.h> #define TEST_CASE 1000000 int main(void) { unsigned __int64 begin, end, result; begin = __rdtsc(); for (unsigned int i = 0; i < TEST_CASE; i++) { printf(""); } end = __rdtsc(); result = end - begin; printf("%d", result); } | cs |
이랬는데 c는 404982949
c++은 418202033 나옴
참고로 단위는 clock임
구현은 모르겠다
여러벙돌려도비슷 - DCW
이거 멀로만들어씀
빌드
비쥬얼2013 릴리즈로해보겟음 - DCW
릴리즈로 하니까 c++ 278957191 c가 283139169 나오네 ㄷㄷ;
잠깐 생각해보니, VC는 c++에 대하여 더 많은 컴파일러 최적화를 해놓은게 아닌가 싶으요
근뎅 릴리즈랑 디버그랑 뭔 차이인데 저럴까