쓰레드 자유 시대 선언—Python Steering Council 결정
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- Python 개발자, C API/ABI 개발자, 성능 최적화 담당자
- 난이도: 고급 (C API 호환성, 동시성 프리미티브 이해 필요)
핵심 요약
- "experimental" 태그 제거 조건으로 PEP 779 승인
- Python 3.14에서 프리-스레딩 빌드에 "experimental" 태그가 제거됨
- C API/ABI 호환성 강화 및 Stable C API 제공
- Stable C API 정의는 Python 3.15까지 완료 예정
- 성능·메모리 가드레일 설정
- GIL 빌드 대비 성능 저하 10% 이내 유지 목표
섹션별 세부 요약
1. C API/ABI 호환성 및 Stable C API 마련
- 기존 API/ABI를 깨는 변경은 C API 워킹그룹과 사전 합의 필요
- Python 3.15까지 프리-스레딩 전용 Stable C API 정의
2. 실험적 프로젝트 기준
- 프리-스레딩 빌드와 호환되는 신규 실험 프로젝트 개발 권장
- GIL과 프리-스레딩 병행 시 복잡성 최소화
3. 성능·메모리 가드레일
- 성능 저하 15% / 메모리 증가 20%까지 SC 사전 합의 필요
- pyperformance 기반 반복 가능한 테스트로 성능 주장 검증
4. 문서화 요구 사항
- "프리-스레딩 랜딩 페이지" 제공으로 사용자/개발자 문서화 강화
- 시그널·스레드 안전성 등 동시성 보장 문서화 의무화
5. 고수준 동시성 프리미티브 준비
concurrent
패키지를 중심으로 사용자 친화적 고수준 도구 개발
6. 벤치마크 요건
- 실제 워크로드 반영된 추가 벤치마크 기여 장려
결론
- Python 3.14 beta 3에서 "experimental" 태그 공식 제거 예정
- 커뮤니티가 프리-스레딩 빌드 정식 지원 옵션으로 적극 홍보 권장
- Phase III(기본/유일 빌드 전환)은 추후 논의 예정