Progress on no-GIL CPython [LWN.net]
Lwn
Python에는 Global Interpreter Lock, 보통 GIL이라고 부르는 Python 인터프리터가 한번에 하나의 스레드에서만 실행되도록 하는 GIL이 있습니다. 이는 Python의 특징과 같은 건데 지난 7월 Python Steering Council에서 GIL을 선택 사항으로 만들겠다는 즉, GIL 없이도 사용할수 있게 하겠다는 제안을 승인하는 발표를 했습니다.
이 글은 그 이후 지금까지의 논의 과정을 정리한 글입니다. Python이 GIL이 없는 no-gil로 가기 위해서 어떤 논의를 하고 있는지 살펴볼 수 있습니다.
CPython의 안정 버전 ABI로 빌드된 확장 프로그램은 no-GIL이 지원될 CPython 3.13에서는 동작하지 않을 것이므로 이를 해결 하기 위해 GIL와 no-GIL을 모두 지원하는 새로운 ABI를 만들자는 의견도 있고 확장 프로그램이 그냥 둘을 모두 지원하는 두 가지 빌드를 다 만드는데 비용 면에서 더 낫다는 의견도 있습니다.
no-gil에 대한 이름에 대한 논의도 있는데 완전히 배포하기 전에 사용자들이 테스트할 수 있으므로 로컬에서 python3를 여전히 사용하면서도 no-GIL 버전도 설치해서 테스트해봐야 하므로 이를 python-nogil3로 할지 ptyhon-nogil3.13으로 할지의 대한 논의가 있고 추가적으로 일반적으로 개발자들이 GIL이 무엇인지 알 필요가 없으므로 nogil이라는 단어 자체를 사용하면 안된다는 의견도 있지만 다른 단어가 오히려 더 어렵다는 얘기도 힜습니다.
여러가지를 논의 후 차라리 앞의 얘기대로 새로운 ABI인 ABI4를 만드는게 더 낫다는데 어느정도 의견이 모아지면서 프로토타입을 만들면서 PEP를 작성해야 한다는 부분까지는 합의에 이르렀다고 합니다.
https://lwn.net/Articles/947138/
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 11월 12일 오후 5:13
지
... 더 보기