pypy¶
개요¶
pypy [옵션] [-c 명령|-m 모듈|file.py|-] [인자…]
옵션¶
| -i | 스크립트를 실행한 후 대화형으로 검사합니다. |
| -O | assert 문을 건너뜁니다. |
| -OO | -O옵션에 더해, 모듈을 임포트할 때 독스트링도 제거합니다. |
| -c CMD | CMD로 전달된 프로그램입니다(옵션 목록을 종료합니다). |
| -S | 초기화 시 import site를 실행하지 않습니다. |
| -s | 사용자 사이트 디렉터리를 sys.path에 추가하지 않습니다. |
| -u | 버퍼링되지 않는 바이너리 stdout과 stderr |
| -h, --help | 도움말 메시지를 표시하고 종료합니다. |
| -m MOD | 스크립트로 실행할 라이브러리 모듈입니다(옵션 목록을 종료합니다). |
| -W ARG | 경고 제어입니다(arg는 동작:메시지:범주:모듈:줄번호 형식입니다). |
| -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- 최대 힙 크기입니다. 이 한도에 가까워지면 먼저 수집을 더 자주 수행하고, 그다음 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- 컬렉션 전후에 수행하는 추가 검사를 활성화합니다. 이 검사는 일반적인 용도로 쓰기에는 너무 느립니다. 값은
0(끔),1(메이저 컬렉션 시) 또는2(마이너 컬렉션 시에도)입니다. PYPY_GC_MAX_PINNED- 어느 시점에서든 고정(pinned)될 수 있는 객체의 최대 개수입니다. 기본값은 너서리(nursery) 크기와 너서리 안에 들어갈 수 있는 최대 객체 크기에 따라 정해지는 보수적인 값입니다. 0으로 설정하면 디버깅에 유용합니다.
참고 항목¶
python(1)