Я просто видел, что этот раздел документации Ненагруженной Ласточки подошел на Hacker News. В основном это - инженеры Google, говорящие, что они не оптимистичны относительно удаления GIL. Однако кажется, как будто существует дискуссия о сборщике "мусора", вкрапленном этим разговором о GIL. Кто-то мог объяснить отношение ко мне?
Я только что нашел здесь другую точку зрения на эту тему: http://renesd.blogspot.com/2009/12/python-gil-unladen-swallow-reference.html
По-настоящему короткая версия заключается в том, что в настоящее время python управляет памятью с помощью подсчета ссылок + схемы сборщика циклов меток и циклов развертки, оптимизированной для задержки (вместо пропускной способности).
Это нормально, когда есть только один изменяющийся поток, но в многопоточной системе вам необходимо синхронизировать все моменты времени, когда вы изменяете счетчики ссылок, иначе вы можете иметь значения, которые «проваливаются сквозь трещины», и синхронизация примитивы довольно дороги на современном оборудовании.
Если бы счетчики ссылок менялись не так часто, это не было бы проблемой, но почти каждая отдельная операция, выполняемая в cpython, может привести к изменению счетчика ссылок где-то, поэтому можно выбрать либо GIL, либо выполнить счетчик ссылок каким-либо синхронизации (и тратить на синхронизацию буквально все свое время),
Ответ Tuna-Fish в основном покрывает это. Если вам нужны более подробные сведения, было обсуждение того, как удалить GIL, не оказывая большого влияния на здесь подсчет ссылок: http://mail.python.org/pipermail /python-ideas/2009-October/006264.html[1260 impression