Python Steering Council, 프리-스레딩 시대 선언 및 PEP 779 승인

쓰레드 자유 시대 선언—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(기본/유일 빌드 전환)은 추후 논의 예정