CPython 프리 스레디드 빌드, 실험 단계 졸업…성능 손실 5~10%
CPython의 프리 스레디드 빌드가 문서상 공식 지원 대상이 됐다. 단일 스레드 성능 손실은 약 5~10%로 줄었다.
CPython의 프리 스레디드 빌드가 문서에서 더 이상 실험적 기능으로 표기되지 않고 공식 지원 대상으로 바뀌었다고 howtogeek.com이 보도했다. 이 빌드는 기존 기본 인터프리터와 별개로 제공되는 선택형 빌드다.
프리 스레디드 빌드는 프로세스 안에서 한 번에 하나의 스레드만 파이썬 바이트코드를 실행하도록 제한하던 글로벌 인터프리터 락(GIL)의 제약을 없앤다. 특화 적응형 인터프리터도 이제 프리 스레디드 모드에서 동작한다.
성능 부담도 줄었다. 프리 스레디드 빌드의 단일 스레드 성능 손실은 표준 빌드 대비 약 5~10% 수준으로 축소됐다. 사용자는 보통 3.14t로 표기되는 별도 빌드를 설치해 이 기능을 선택할 수 있다.
uv 같은 도구를 활용하면 표준 빌드와 프리 스레디드 빌드를 함께 설치해 나란히 쓸 수 있다. 다만 Python 3.14의 실험적 JIT 컴파일러는 아직 프리 스레디드 빌드에서 사용할 수 없다.
단계적 전환의 2단계
파이썬은 초창기부터 GIL을 유지해 왔으며, 프리 스레딩은 PEP 703으로 제안돼 2024년 10월 Python 3.13에서 실험 기능으로 처음 나왔다. 당시 첫 실험 버전은 단일 스레드 코드가 눈에 띄게 느려졌고, 아직 스레드 안전하지 않은 일부 내부 최적화도 꺼져 있었다.
PEP 779는 프리 스레디드 빌드를 정식으로 승격하기 위한 기준을 정했고 2025년 6월 승인됐다. 2025년 10월 공개된 Python 3.14가 이 기준을 충족했으며, 코어 팀은 현재 상태를 단계적 계획의 2단계(Phase II)로 설명한다.
한눈에 보기
프리 스레디드 빌드는 어떻게 설치하나요?
보통 3.14t로 표기되는 별도 빌드를 설치하면 된다. uv 같은 도구로 표준 빌드와 함께 설치할 수 있다.
프리 스레디드 빌드는 얼마나 느린가요?
단일 스레드 성능 손실이 표준 빌드 대비 약 5~10% 수준이다.
Python 3.14의 JIT 컴파일러를 프리 스레디드 빌드에서 쓸 수 있나요?
아직 사용할 수 없다. 실험적 JIT 컴파일러는 프리 스레디드 빌드에서 제공되지 않는다.