'Programing > C++' 카테고리의 다른 글
템플릿(Template) -클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
---|---|
템플릿(Template) - 함수 템플릿, 클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
클래스 (0) | 2016.11.30 |
구조체 (0) | 2016.11.30 |
함수오버로딩 (0) | 2016.11.30 |
템플릿(Template) -클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
---|---|
템플릿(Template) - 함수 템플릿, 클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
클래스 (0) | 2016.11.30 |
구조체 (0) | 2016.11.30 |
함수오버로딩 (0) | 2016.11.30 |
템플릿(Template) -클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
---|---|
템플릿(Template) - 함수 템플릿, 클래스 템플릿, 템플릿의 특수화 (0) | 2016.11.30 |
클래스 (0) | 2016.11.30 |
구조체 (0) | 2016.11.30 |
함수 오버로딩, SWAP (0) | 2016.11.30 |
#include <stdio.h>
#include <stdio.h>
#include <windows.h>
void main()
{
int mainarray[100000] ;
//루틴의속도측정을위해사용
LARGE_INTEGER liCounter1, liCounter2, liFrequency;
QueryPerformanceFrequency(&liFrequency);
QueryPerformanceCounter(&liCounter1);
//10000000000 번의for 루프
for(int i=0; i <100000 ; i++)
{
mainarray[i] =0;
}
QueryPerformanceCounter(&liCounter2);
//측정결과
printf("c 언어수행시간= %f 초\n", (double)(liCounter2.QuadPart - liCounter1.QuadPart) / (double)liFrequency.QuadPart);
//어셈블리루틴속도측정을위해사용
QueryPerformanceFrequency(&liFrequency);
QueryPerformanceCounter(&liCounter1);
//어셈루틴번의루프
register int k;
int mainarray2[100000] ;
_asm{
mov dword ptr [k],0
mov eax,dword ptr [k]
mov dword ptr mainarray2[eax*4],0
L1 : cmp eax,99999
je loop_end
add eax,1
mov dword ptr [k],eax
mov eax,dword ptr [k]
mov dword ptr mainarray2[eax*4],0
jmp L1
loop_end:
}
QueryPerformanceCounter(&liCounter2);
//결과
printf("어셈수행시간= %f 초\n", (double)(liCounter2.QuadPart - liCounter1.QuadPart) / (double)liFrequency.QuadPart);
}
우호호호 이렇게 중간에 뭔가 해줘야 어셈이 빠르시군요
C언어 ,c++ 어셈블리 변환 (0) | 2016.11.30 |
---|---|
어셈블리와 c언어 속도 비교 (0) | 2016.11.30 |
띄어쓰기까지 입력가능한 scanf (0) | 2016.11.30 |
데이터형 (0) | 2016.11.30 |
반복문 (0) | 2016.11.30 |