스크립트 수행성능
수행성능을 극대화하려면, SetFormat의 사용을 자제하고 (빠른 모드 제외) 다음 줄을 각 스크립트의 상단 근처에 포함하십시오:
#NoEnv
SetBatchLines -1
ListLines Off
게다가, 다음 명령어를 사용하면 스크립트의 성질에 따라 수행성능에 영향을 미칩니다: SendMode, SetKeyDelay, SetMouseDelay, SetWinDelay, SetControlDelay, 그리고 SetDefaultMouseSpeed.
스크립트는 적재되는 동안 그리고 구문을 점검하는 동안 유사-컴파일됩니다. 유사-컴파일은 스크립트가 소모하는 메모리를 줄이는 외에도, 극적으로 수행성능을 향상시킵니다.
다음은 테크니컬한 최적화 과정을 기술합니다 (유사-컴파일링):
- 입력 변수와 출력 변수 (이름에 다른 변수를 가리키는 참조 주소가 들어있지 않을 때) 그리고 그룹 이름은 메모리 주소로 결정됩니다.
- Loops, blocks, IFs (expression), IFs (legacy), and ELSEs are given the memory addresses of their related jump-points in the script.
- 각 핫키, Gosub, 그리고 Goto의 목적지는 변수가 아닌 한 메모리 주소로 결정됩니다.
- 각 명령어 이름은 점프 테이블의 주소로 교체됩니다.
- 각 줄은 미리-해석되어 매개변수 리스트로 들어갑니다. (있다면) 각 매개변수는 미리 해석되어 변수 리스트로 들어갑니다.
- 각 표현식은 토큰화되어 중위식에서 후위식으로 변환됩니다.
- 변수나 함수를 가리키는 참조 주소는 메모리 주소로 결정됩니다.
- 표현식에서 문자 그대로의 정수와 수학/비교 명령어는 이진 정수로 교체됩니다.
게다가, 스크립트를 실행하는 동안, 이진 숫자들은 변수에 캐쉬가 되어 문자열로/으로부터 변환을 피합니다. 자세한 것은 SetFormat을 참조하십시오.