|
if/switch 비교를 하시려면 반복 for 문 안에 넣어야 하지 않을까요?
if 한번, for 천만번 과 switch 한번 for 천만번의 테스트 같은데요 ㅎㅎ
착한아들(HoPe) 님이 쓰신 글 :
: 안녕하세요. 맨날 눈팅만 하는 사람입니다.
: 갑자기 궁금증이 생겨서 그렇습니다.
: if구문과 switch구문의 속도 차이가 궁금해서 인터넷으로 검색해보니 switch구문이 더빠르다구 하는데
: 제가 이리저리 테스트 해보면 if구문이 더 빠르거나 같은것 같던데요.
:
: 과연 어느것이 더 빠를까요?
:
: 혹시 제가 테스트를 잘못한건 아닌지해서 문의 드립니다.
: 테스트 예제임돠
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: int a = 1;
: int test = 0;
:
: int tm = GetTickCount();
: if(a == 0) { test = a; }
: else if(a == 1)
: {
: for(int i = 0; i < 10000000; i++) test = a;
: }
: else if(a == 2)
: {
: for(int i = 0; i < 10000000; i++) test = a;
: }
: else { test = a; }
:
: Edit1->Text = GetTickCount() - tm;
:
: tm = GetTickCount();
: switch(a)
: {
: case 0: test = a; break;
: case 1:
: for(int i = 0; i < 10000000; i++) test = a;
: break;
: case 2:
: for(int i = 0; i < 10000000; i++) test = a;
: break;
: default: test = a; break;
: }
: Edit2->Text = GetTickCount() - tm;
: }
|