테스트 코드:
#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 아무 키나 입력하여 다음으로 넘어갑니다.
SELECTCASE RAND:3
CASE 0
PRINT ㅁ
CASE 1
PRINT ㄴ
CASE 2
PRINT ㅇ
ENDSELECT
RETURN 1
IF RAND:3 == 0
PRINT ㄹ
ELSEIF RAND:2 = 0
PRINT ㅎ
ELSE
PRINT ㅗ
ENDIF
RETURN 1
결과:
1만 회 정도 반복하는 정도로는 큰 차이가 없었음
지금 보니까 ELSEIF 쪽을 10배 더 많이 햇네?
그래서다시해보니
?