※ 이 문서는 뭐 그냥 하면 되지. ()에서 인쇄하였으며,
저작권은 해당 블로그 운영자에게 있습니다.

AutoIt3 - IF, Switch, Select 조건문의 속도 비교

/Autoit/AutoIt :: 2011. 10. 13. 12:30

AutoIt3 - IF, Switch, Select 조건문의 속도 비교

AutoIT에서 조건문은 IF, Switch, Select의 세가지가 있는데, 정확히 어떤 차이가 있는 지 몰랐습니다. 조건을 적는 방법에 차이가 있다는 정도만 알고 있었죠.

사실 전부터 IF... ElseIF... Else ... EndIF와 Select 문는 조건을 적는 방법도 다르지 않아서 궁금하던 차였습니다. 특히, 조건에 대한 명령어가 하나만 있을 때, "IF ... Then ... 명령어" 처럼 한 줄로 적고 있습니다. 코드를 좀 더 줄이려고 말이죠.

오토잇 포럼에 이들의 속도를 비교하는 스크립트가 올라왔네요.

파일의 목록을 만드는 함수에서 관련 내용을 보고 만들었다고하는데, 실제 해보니 재미있는 결과가 나왔습니다.

IF문을 한 줄로 적을 때와 줄을 바꾸었을 때, SwitchSelect 네 가지 경우의 속도를 비교하는 스크립트입니다.

Concerning If Then/If Then Else...

If $cheese = 1 Then $cheese = 1

If $cheese = 1 Then
	$cheese = 1
EndIf

Switch $cheese
	Case 1
		$cheese = 1
EndSwitch

Select
	Case $cheese = 1
		$cheese = 1
EndSelect

IF, Switch, Select 속도 비교 - 조건이 참일 때

먼저 조건이 참일 때는 속도는 Switch, IF ... Then ... EndIF, Select, 한줄로 된 IF ... Then순입니다.

조건문의 속도 비교 결과 - 조건이 참일 때

IF, Switch, Select 속도 비교 - 조건이 거짓일 때

조건이 거짓을 때는 한줄로 된 IF ... Then, Switch, IF ... Then ... EndIF, Select 순이네요.

조건문의 속도 비교 결과 - 조건이 거짓일 때

 

크게 신경쓸 정도의 속도차는 아닙니다. 또 결과가 정확하다고 볼 수도 없고요. 왜냐하면 같은 TimerDiff라도 실행 시간이 달라질 수 있거든요. 조건문 외에 시간이 달라지는 부분이 있기때문에 속도차이가 모두 조건문때문에 생기는 것은 아니라는 뜻이죠.

하지만 대체로 조건문때문에 속도차가 가장 많이 발생하는 거기때문에 파일의 목록을 만드는 경우처럼 루프를 많이 사용하는 곳에서 사용한다면 조건의 참/거짓을 참고해서 속도가 좀 더 빠른 조건문을 사용하는 것도 좋겠네요.

나중에 시간을 내서 순환문(Do, While, For)에서의 속도차이도 비교해봐야겠어요.

관련글

While ~ WEnd, For ~ Next, Do ~ Until 속도 비교

블로그의 글과 그림, 첨부파일의 복제, 재배포를 금지합니다. =>  자세히 보기
티스토리 초대장 필요하신 분은 댓글남겨주세요.
give start - 굿네이버스 - 사랑의 열매 - 아름다운재단 - 어린이재단 - 유니세프
굿네이버스 배너
사랑의 열매 배너
아름다운 재단 배너 어린이 재단 배너 유니세프 한국위원회 - 배너