1P by neo 2023-10-22 | favorite | 댓글 1개
  • Python 지휘위원회, 글로벌 인터프리터 락(GIL)을 향후 Python 릴리즈에서 선택적으로 만들 계획 발표
  • 아직 논의 중인 제안인 PEP 703, 세부사항 확정 중
  • no-GIL 버전 Python, 컴퓨터 과학에서 가장 어려운 문제 중 일부, 특히 명명 문제 해결 예상
  • PEP 703의 저자 Sam Gross, 제안과 CPython 안정 ABI 간 상호작용 논의
  • 안정 ABI, 여러 CPython 버전과 호환되는 바이너리 휠을 활성화하기 위해 확장에 사용
  • 제안은 GIL 없는 단일 CPython 버전을 상상하지만, 그 사이에 no-GIL 작동을 테스트할 수 있는 인터프리터 빌드가 있을 것
  • 안정 ABI를 위해 만들어진 확장은 no-GIL CPython 3.13과 호환되지 않지만, Gross는 해당 버전 이후 두 종류의 CPython 빌드와 함께 작동하도록 확장을 변경하는 것을 제안
  • no-GIL 버전의 명명 논의는 별도의 스레드로 분리
  • 지휘위원회, 빌드를 설명하기 위해 "nogil"이라는 이름을 피하기로 합의, "free-threading"을 대안으로 제안
  • PEP 703의 최종 승인은 아직 보류 중이며, 지휘위원회는 승인 기준을 명확히 하는 데 작업 중
  • no-GIL 버전의 CPython은 향후 5년 이상 동안 CPython 개발 및 생태계에 중요한 영향을 미칠 것으로 예상
Hacker News 의견
  • No-GIL CPython에 대한 진행 상황에 대한 논의
  • 명시적 병렬성이 현대 컴퓨팅에서 더 중요해져야 하며 Python이 이 트렌드에 적응해야 한다는 의견 제시
  • GIL이 제거되면 다중 스레드 Python 코드에서 데이터 경쟁과 잘못된 연산이 발생할 가능성에 대한 우려
  • GIL이 제거된 후 기존 Python 프로그램에서 잠재적 문제를 식별할 수 있는 정적 분석기의 실행 가능성에 대한 질문
  • 일부 댓글 작성자가 Python의 진화를 OCaml과 비교하며 두 프로젝트 간의 유사점이 있는지 궁금해함
  • GIL 없는 Python에 대한 현재의 초점에 대한 논쟁, 일부는 진정한 다중 스레딩보다 개선된 단일 스레드 성능을 주장
  • 일부 댓글 작성자는 GIL을 유지하되 JavaScript와 유사한 Workers를 도입해야 한다고 제안, 각 작업자 스레드는 자체 GIL이 있는 격리된 VM
  • Python 2에서 Python 3로의 긴고 어려운 전환에 대한 논의도 있으며, 일부는 Python 커뮤니티가 이 기회를 이용해 인터프리터 내부에 더 큰 변화를 가져올 수 있었다고 제안
  • No-GIL Python에서 이익을 볼 수 있는 잠재적 애플리케이션과 서비스, 그리고 개발자들이 이 개발에서 기대하는 것에 대한 궁금증 표현