--opt 또는 -O 변환 옵션

이 메타 옵션은 변환 과정에서 사용할 최적화 설정의 기본 집합을 선택합니다. 사용법:

bin/rpython --opt=#
bin/rpython -O#

여기서 #은 원하는 최적화 레벨입니다. 유효한 선택지는 다음과 같습니다:

레벨 설명
–opt=0 모든 최적화 끄기; 가장 빠른 변환 (*)
–opt=1 (*)에 대한 시간 소모가 적은 최적화
–opt=size 최종 실행 파일의 크기를 최소화합니다 (*)
–opt=mem 런타임 RAM 소비 최소화 (진행 중)
–opt=2 모든 최적화 적용; 우수한 실행 시간 성능
–opt=3 –opt=2와 동일; 어서션 제거; gcc 프로파일링 (**)
–opt=jit JIT를 포함하고 이를 위한 다른 최적화를 조정합니다

(*): 레벨 0, 1sizeBoehm-Demers-Weiser garbage collector (Debian 패키지 libgc-dev)를 사용합니다. 변환 자체는 더 빠르고 메모리를 더 적게 소비하지만, 최종 실행 파일은 더 작으면서도 더 느립니다. 다른 레벨들은 내장된 custom garbage collectors중 하나를 사용합니다.

(**): 레벨 3은 PyPy를 번역(translation)할 때 gcc의 프로파일 기반 재컴파일을 활성화합니다.

각 레벨에서 활성화되는 정확한 최적화 집합은 백엔드에 따라 다릅니다. 각 개별 변환 대상은 해당 레벨을 기반으로 자체 옵션을 선택할 수도 있습니다. PyPy를 변환할 때, mem 레벨은 객체 공간(object space)에서 메모리 절약형 객체 구현을 활성화하며, 23 레벨은 성능 향상을 제공하는 고급 객체 구현을 활성화합니다. 또한 3 레벨은 gcc 프로파일 기반 재컴파일도 활성화합니다.

기본 레벨은 2입니다.