GN⁺ 2024-07-13 | parent | ★ favorite | on: Free-threaded CPython 실험 준비 완료(labs.quansight.org)
Hacker News 의견
  • Python의 GIL 제거로 많은 조직과 프로젝트에서 거의 추가적인 노력 없이 성능을 크게 향상시킬 수 있는 기회가 생김

    • 오래된 라이브러리가 이러한 변화를 제때 반영하지 않으면 새로운 프로젝트가 시장 점유율을 차지할 가능성이 있음
    • 멀티프로세싱의 복잡성과 버그를 피하고 간단한 스레드를 사용하여 큰 머신의 모든 코어를 활용할 수 있게 됨
  • macOS에서 GIL 제거된 Python을 설치하고 작동시킨 경험을 공유함

    • 설치 과정과 차이점을 설명하는 짧은 스크립트를 작성함
    • 링크
  • Python의 간편한 작성과 논리를 좋아하는 사용자가 GIL 제거된 접근 방식이 기존 Python 작성 방식과 유사하기를 희망함

    • 멀티스레딩이 어려워 깊이 파고들지 않았음을 언급함
  • Python 3의 진행 상황을 요약함

    • [x] Async
    • [x] Optional static typing
    • [x] Threading
    • [ ] JIT
    • [ ] Efficient dependency management
  • 2007년경 병렬 처리가 필수적이 되었음을 회상함

    • Rust가 속도와 병렬 처리에서 우위를 차지하고 있음을 언급함
  • PEP703에서 GIL 제거 후 리스트의 append 연산이 스레드 안전성을 유지하는 방법을 설명함

    • 리스트별 잠금이 추가됨
    • 간단한 정수 증가 연산이 현재 GIL로 인해 스레드 안전함을 언급함
  • GIL 제거가 ML 훈련과 추론의 성격을 어떻게 변화시킬지 기대함

    • 메모리 전달과 프로세스 조정의 복잡성을 줄일 수 있음
    • PyTorch와 같은 라이브러리가 최적화될 가능성을 기대함
  • 실제 멀티스레딩을 다뤄본 적 없는 프로그래머들이 새로운 미묘한 버그를 도입할 가능성을 우려함

  • 단일 스레드 성능 저하가 심각한지에 대한 질문을 제기함

    • 벤치마크를 찾지 못했으며, 일반적인 안심만 제공됨
  • async와의 작동 방식에 대한 호기심을 표현함

    • I/O와 CPU 바운드 코드 간의 자연스러운 장벽이 있음
    • 더 유연한 모델을 보고 싶어함
    • CPU 바운드 코루틴에서 "gather"를 수행할 때 JIT가 가능할지 궁금해함
    • 유사한 인터페이스로 빠르게 전환할 수 있는 유연한 프로그래밍 모델이 멋질 것이라고 생각함