#include <stdio.h>

#include <stdio.h>

#include <windows.h>


void main()

{

             //루틴의속도측정을위해사용

             LARGE_INTEGER liCounter1, liCounter2, liFrequency;

    QueryPerformanceFrequency(&liFrequency);

    QueryPerformanceCounter(&liCounter1);

 

             //10000000000 번의for 루프

             for(int i=10000000000; i > 0; i--)

             {                                      

             }

              QueryPerformanceCounter(&liCounter2);

 

              //측정결과

    printf("c 언어수행시간= %f \n", (double)(liCounter2.QuadPart - liCounter1.QuadPart) / (double)liFrequency.QuadPart);

 

 

             //어셈블리루틴속도측정을위해사용

    QueryPerformanceFrequency(&liFrequency);

    QueryPerformanceCounter(&liCounter1);

 

             //어셈루틴번의루프

      register int r1=0;

             _asm{                 

                           mov  r1, 10000000000;

                           L1 : cmp r1,0                     // r1 값을0과비교

                           je loop_end; // r1 0 일경우loop_end

                           dec r1; // 1을감소시키고다시저장

                           jmp L1;

loop_end:

             }           

    QueryPerformanceCounter(&liCounter2);

 

             //결과

    printf("어셈수행시간= %f \n", (double)(liCounter2.QuadPart - liCounter1.QuadPart) / (double)liFrequency.QuadPart);

}



'Programing > C' 카테고리의 다른 글

어셈블리 c언어 속도측정결과  (0) 2016.11.30
C언어 ,c++ 어셈블리 변환  (0) 2016.11.30
띄어쓰기까지 입력가능한 scanf  (0) 2016.11.30
데이터형  (0) 2016.11.30
반복문  (0) 2016.11.30

+ Recent posts