#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 |