JIT 도움말¶
Note
이 내용은 pypy --jit help에서 가져온 것입니다.
고급 JIT 옵션¶
<pypy> --jit [options] 여기서 options는 쉼표로 구분된 OPTION=VALUE 형식의 옵션 목록입니다:
- decay=N
- 카운터를 주기적으로 감쇠시키는 양입니다(0=없음, 1000=최대)(기본값 40). 이 값은
val *= 1.0 - (decay / 1000)공식에 따라 마이너 컬렉션 32회마다 JIT 카운터를 줄이는 데 사용됩니다. 이를 통해 오래 실행되는 프로그램에서도 드물게 실행되는 경로가 JIT 컴파일되지 않도록 합니다.- disable_unrolling=N
- 몇 개의 연산 이후부터 언롤링하지 않을지 지정합니다(기본값 200)
- enable_opts=N
- 내부 전용(동작하지 않거나 충돌을 일으킬 수 있음): 활성화할 최적화를 지정하는 문자열, 또는 all = intbounds:rewrite:virtualize:string:pure:earlyforce:heap:unroll (기본값 all)
- function_threshold=N
- 함수가 시작부터 트레이싱되려면 실행되어야 하는 횟수(기본값 1619)
- inlining=N
- Python 함수 인라인 여부 (1/0) (기본값 1)
- loop_longevity=N
- 루프가 해제되기 전까지 얼마나 오래 유지될지를 제어하는 매개변수이며, 추정값입니다(기본값 1000).
- max_retrace_guards=N
- 재추적(retrace)이 유발할 수 있는 추가 가드(guard)의 수 (기본값 15)
- max_unroll_loops=N
- 루프 하나가 유발할 수 있는 추가 언롤링 횟수 (기본값 0)
- max_unroll_recursion=N
- 재귀 함수를 몇 단계 깊이까지 펼칠지 지정합니다(기본값 7).
- retrace_limit=N
- 포기하기 전에 재트레이싱을 시도할 수 있는 횟수입니다(기본값 0).
- threshold=N
- 루프가 핫(hot) 상태가 되기까지 실행되어야 하는 횟수(기본값 1039)
- trace_eagerness=N
- 브리지 컴파일을 시작하기 전에 가드(guard)가 실패해야 하는 횟수 (기본값 200)
- trace_limit=N
- ABORT_TOO_LONG으로 트레이싱을 중단하기 전까지 기록할 수 있는 연산의 수 (기본값 6000)
- vec=N
- 벡터화 최적화(vecopt)를 켭니다. x86(SSE 4.1), powerpc(SVX), s390x SIMD를 지원합니다(기본값 0).
- vec_all=N
- numpypy 라이브러리 외부에서 발생하는 트레이스 루프의 벡터화를 시도합니다(기본값 0).
- vec_cost=N
- 어떤 트레이스를 포기할지(bail) 결정하는 임계값입니다. 언패킹은 카운터를 증가시키고, 벡터 연산은 비용을 감소시킵니다(기본값 0).
- 꺼짐
- JIT를 끕니다
- 도움말
- 이 페이지 인쇄
pypyjit 모듈을 사용하면 PyPy 내부에서 JIT를 제어할 수 있습니다.