pypy¶
개요¶
pypy [options] [-c cmd|-m mod|file.py|-] [arg…]
옵션¶
| -i | 스크립트를 실행한 후 대화형으로 검사합니다. |
| -O | assert 문은 건너뜁니다. |
| -OO | -O에 더해, 모듈을 임포트할 때 docstring도 제거합니다. |
| -c CMD | CMD로 전달된 프로그램입니다(옵션 목록을 종료합니다). |
| -S | 초기화 시 import site를 수행하지 않습니다. |
| -s | 사용자 사이트 디렉터리를 sys.path에 추가하지 않습니다. |
| -u | stdout과 stderr를 버퍼링하지 않는 바이너리 모드로 사용합니다. |
| -h, --help | 도움말 메시지를 표시하고 종료합니다. |
| -m MOD | 스크립트로 실행할 라이브러리 모듈입니다(옵션 목록을 종료합니다). |
| -W ARG | 경고를 제어합니다(arg는 action:message:category:module:lineno 형식입니다). |
| -E | 환경 변수(PYTHONPATH 등)를 무시합니다. |
| -B | 바이트코드(.pyc) 파일 작성을 비활성화합니다. |
| -X track-resources | |
파일이나 소켓이 가비지 컬렉터에 의해 닫힐 때마다 ResourceWarning을 발생시킵니다. | |
| -X disable-remote-debug | |
| 원격 디버깅 인터페이스를 비활성화합니다. | |
| --version | PyPy 버전을 출력합니다. |
| --info | 이 PyPy 실행 파일에 대한 변환 정보를 출력합니다. |
| --jit ARG | 저수준 JIT 매개변수입니다. 대부분 내부용입니다. 자세한 정보를 보려면 --jit help를 실행하십시오. |
환경¶
PYTHONPATH- pypy의 모듈 검색 경로에 디렉터리를 추가합니다. 형식은 셸의
PATH와 동일합니다. PYTHONSTARTUP- 이 변수가 참조하는 스크립트는 대화형 모드에서 첫 프롬프트가 표시되기 전에 실행됩니다.
PYTHONDONTWRITEBYTECODE- 비어 있지 않은 값으로 설정하면
-B옵션과 동일합니다..pyc파일 작성을 비활성화합니다. PYTHONINSPECT- 비어 있지 않은 값으로 설정하면
-i옵션과 동일합니다. 지정된 스크립트를 실행한 후 대화형으로 검사합니다. PYTHONIOENCODING- 이 값이 설정되면 stdin/stdout/stderr에 사용되는 인코딩을 재정의합니다. 구문은 encodingname:errorhandler입니다. errorhandler 부분은 선택 사항이며, str.encode와 동일한 의미를 가집니다.
PYTHONNOUSERSITE- 비어 있지 않은 값으로 설정하면
-s옵션과 동일합니다. 사용자 사이트 디렉터리를 sys.path에 추가하지 않습니다. PYTHONWARNINGS- 설정된 경우,
-W옵션(경고 제어)과 동일합니다. 값은 쉼표로 구분된-W매개변수 목록이어야 합니다.
PYPYLOG비어 있지 않은 값으로 설정하면 로깅을 활성화하며, 형식은 다음과 같습니다:
- fname 또는 +fname
- 프로파일링용 로깅: 모든
debug_start/debug_stop을 포함하지만 중첩된debug_print는 포함하지 않습니다. stderr에 로그를 남기려면 fname을-로 지정할 수 있습니다. fname에 :가 있는 경우 +fname 형식을 사용할 수 있습니다. :fnamedebug_print를 포함한 전체 로깅입니다.- prefix
:fname - 조건부 로깅입니다. 여러 접두사를 쉼표로 구분하여 지정할 수 있습니다. 이름이 접두사와 일치하는 섹션만 로깅됩니다.
PYPYLOG=jit-log-opt,jit-backend:logfile는 PyPy에서 성능 문제를 디버깅하는 도구인 jitviewer에 적합한 로그를 생성합니다.PYPY_IRC_TOPIC- 비어 있지 않은 값으로 설정하면 대화형 모드 시작 시 #pypy IRC 주제를 무작위로 출력합니다.
PYPY_DISABLE_JIT- 비어 있지 않은 값으로 설정하면 JIT을 비활성화합니다.
PYTHON_DISABLE_REMOTE_DEBUG- 비어 있지 않은 값으로 설정하면 원격 디버깅 인터페이스를 비활성화합니다.
PyPy의 기본 incminimark 가비지 컬렉터는 여러 환경 변수를 통해 설정할 수 있습니다:
PYPY_GC_NURSERY- 너서리(nursery) 크기입니다. 기본값은 최종 레벨 캐시의 1/2이며, 알 수 없는 경우
4M이고, 최종 레벨 캐시가 너무 작은 경우에도4M입니다. 작은 값(예: 1 또는 1KB)은 디버깅에 유용합니다. PYPY_GC_NURSERY_DEBUG- 0이 아닌 값으로 설정하면, 디버깅에 도움이 되도록 너서리(nursery)를 가비지로 채웁니다.
PYPY_GC_INCREMENT_STEP- 마킹 단계에서 마킹되는 메모리의 크기입니다. 기본값은 nursery 크기의 2배입니다. 너무 높게 설정하면 GC가 전혀 점진적(incremental)이지 않게 됩니다. 최솟값은 마이너 컬렉션에서 살아남는 크기의 1.5배로 설정되어 있어, 항상 무언가를 회수하게 됩니다.
PYPY_GC_MAJOR_COLLECT- 메이저 컬렉션 메모리 계수. 기본값은
1.82이며, 이는 이전 메이저 컬렉션이 끝난 시점에 실제로 사용된 메모리의 1.82배에 해당하는 메모리가 소비되면 메이저 컬렉션을 트리거한다는 의미입니다. PYPY_GC_GROWTH- 메이저 컬렉션 임계값의 최대 증가율입니다. 기본값은
1.4입니다. 메모리 사용량이 일시적으로 급증하는 경우처럼 메모리가 갑자기 증가할 때 평소보다 더 자주 컬렉션을 수행하는 데 유용합니다. PYPY_GC_MAX- 최대 힙(heap) 크기입니다. 이 한계에 가까워지면 먼저 더 자주 수집하고, 그래도 부족하면 RPython MemoryError를 발생시키며, 그것마저 충분하지 않으면 치명적 오류로 프로그램을 종료합니다.
1.6GB와 같은 값을 시도해 보십시오. PYPY_GC_MAX_DELTA- 메이저 컬렉션 임계값은 컬렉션 이후 실제로 사용된 양보다
PYPY_GC_MAX_DELTA만큼 더 큰 값으로 설정되지 않습니다. 전체 RAM 크기의 1/8을 기본값으로 사용합니다(32비트 시스템에서는 최대 2/3/4GB로 제한됩니다).200MB와 같은 값을 시도해 보십시오. PYPY_GC_MIN- 메모리 크기가 이 한계보다 작은 동안에는 수집하지 않습니다. 매우 작은 프로그램에서 모든 시간을 GC에 소비하지 않도록 하는 데 유용합니다. 기본값은 너서리(nursery)의 8배입니다.
PYPY_GC_DEBUG- 일반적인 사용에는 너무 느린 수집(collection) 관련 추가 검사를 활성화합니다. 값은
0(끄기),1(주요 수집(major collection) 시) 또는2(부수 수집(minor collection) 시에도)입니다. PYPY_GC_MAX_PINNED- 임의의 시점에 고정(pinned)된 객체의 최대 개수입니다. 기본값은 너서리(nursery) 크기와 너서리 내 최대 객체 크기에 따라 결정되는 보수적인 값입니다. 0으로 설정하면 디버깅에 유용합니다.
참고¶
python(1)