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