블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
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

공지사항

최근에 올라온 글

인터넷에 있는 코드 몇개를 테스트했다.

임베디드를 하다보면, itoa를 직접 구현해야 할 경우가 가끔있다.


2번째가 라이브러리에 있는 함수

라이브러리에 포함된 함수가 가장 빨랐다.



테스트코드

void _debug_puts2(char *s,int a,int b);

void test_speed_itoa10_buf()

{

int v_start=-1000000,v_end=1000000,n=0,v;char buf[32];DWORD t[8];


_debug_puts("test_speed_itoa10_buf START\r\n");

t[0]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//1

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//2

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//3

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//4

itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);itoa10_buf(v,buf);//5

}

t[1]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//1

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//2

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//3

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//4

itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);itoa(v,buf,10);//5

}

t[2]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//1

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//2

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//3

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//4

i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);i_to_a(v,buf);//5

}

t[3]=GetTickCount();

for(v=v_start;v<v_end;v++)

{

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//1

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//2

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//3

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//4

itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);itoa2(v,buf,10);//5

}

t[4]=GetTickCount();


t[0]=t[1]-t[0];

t[1]=t[2]-t[1];

t[2]=t[3]-t[2];

t[3]=t[4]-t[3];

_debug_puts("test_speed_itoa10_buf END\r\n");

//[0] 6485

//[1] 5328

//[2] 8891

//[3] 7750

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함