테스트 코드:

@EVENTFIRST

#DIM DYNAMIC SELECTTIME

#DIM DYNAMIC ELSEIFTIME


GETMILLISECOND

SELECTTIME = RESULT:0

REPEAT 100000

    CALL TESTFUNC_SELECT

REND

PRINTL

GETMILLISECOND

SELECTTIME = RESULT:0 - SELECTTIME


GETMILLISECOND

ELSEIFTIME = RESULT:0

REPEAT 1000000

    CALL TESTFUNC_SELECT

REND

PRINTL

GETMILLISECOND

ELSEIFTIME = RESULT:0 - ELSEIFTIME


DRAWLINE

PRINTL TESTFUNC_SELECT 함수:

PRINTL

PRINTL @TESTFUNC_SELECT

PRINTL SELECTCASE RAND:3

PRINTL     CASE 0

PRINTL         PRINT ㅁ

PRINTL     CASE 1

PRINTL         PRINT ㄴ

PRINTL     CASE 2

PRINTL         PRINT ㅇ

PRINTL ENDSELECT

PRINTL RETURN 1        

DRAWLINE

PRINTFORML 10만 회 소요시간: {SELECTTIME}

DRAWLINE

PRINTL TESTFUNC_ELSEIF 함수:

PRINTL

PRINTL @TESTFUNC_IFELSE

PRINTL IF RAND:3 == 0

PRINTL     PRINT ㄹ

PRINTL ELSEIF RAND:2 = 0

PRINTL     PRINT ㅎ

PRINTL ELSE

PRINTL     PRINT ㅗ

PRINTL ENDIF

PRINTL RETURN 1  

DRAWLINE

PRINTFORML 10만 회 소요시간: {ELSEIFTIME}

DRAWLINE

PRINTW 아무 키나 입력하여 다음으로 넘어갑니다.



@TESTFUNC_SELECT

SELECTCASE RAND:3

    CASE 0

        PRINT ㅁ

    CASE 1

        PRINT ㄴ

    CASE 2

        PRINT ㅇ

ENDSELECT

RETURN 1        


@TESTFUNC_IFELSE

IF RAND:3 == 0

    PRINT ㄹ

ELSEIF RAND:2 = 0

    PRINT ㅎ

ELSE

    PRINT ㅗ

ENDIF

RETURN 1


결과:



1만 회 정도 반복하는 정도로는 큰 차이가 없었음


지금 보니까 ELSEIF 쪽을 10배 더 많이 햇네?


그래서다시해보니


?