--opt 또는 -O 변환 옵션

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

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

여기서 #은 원하는 최적화 수준입니다. 사용할 수 있는 값은 다음과 같습니다:

수준 설명
–opt=0 모든 최적화를 끕니다; 변환 속도가 가장 빠릅니다 (*)
–opt=1 (*)에 대한 시간이 오래 걸리지 않는 최적화
–opt=size 최종 실행 파일의 크기 최소화 (*)
–opt=mem 런타임 RAM 사용량 최소화(진행 중)
–opt=2 모든 최적화 활성화; 우수한 런타임 성능
–opt=3 –opt=2와 동일; assert 제거; gcc 프로파일링 (**)
–opt=jit JIT를 포함하며, 이에 맞춰 다른 최적화를 조정합니다

(*): 레벨 0, 1과 size는 Boehm-Demers-Weiser garbage collector (Debian 패키지 libgc-dev)를 사용합니다. 변환 자체는 더 빠르고 메모리도 더 적게 사용하며, 최종 실행 파일은 더 작지만 더 느립니다. 그 밖의 레벨은 PyPy에 내장된 custom garbage collectors 중 하나를 사용합니다.

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

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

기본 레벨은 2입니다.