🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 112 (from laksa054)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
2 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.1 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://pythonz.net/articles/402/
Last Crawled2026-04-15 13:55:20 (2 days ago)
First Indexed2021-10-27 06:44:46 (4 years ago)
HTTP Status Code200
Meta TitlePython 3.9 без GIL. Что дальше? — Про Python
Meta DescriptionОб очередной попытке избавиться от глобальной блокировки интерпретатора.
Meta Canonicalnull
Boilerpipe Text
Об очередной попытке избавиться от глобальной блокировки интерпретатора. Если вы ещё не знакомы с ГБИ (GIL) — глобальной блокировкой интерпретатора — полезно будет посмотреть старое, но актуальное видео « Познавая ГБИ (GIL) Питона ». В дайджесте 03.10.2021 — 10.10.2021 внимательные читатели могли заметить упоминание темы « Python multithreading without the GIL » в разделе «Разработка языка». О чём это? 7 октября Сэм Гросс выступил с предложением обсудить вариант подхода к устранению GIL. Не только выступил, но и опубликовал детальное описание подхода . И не только опубликовал, но и поделился ссылкой на репозиторий , где он применил подход к Python 3.9 . Идея избавиться от GIL далеко не нова. Многие об этом говорили и говорят, немногие пытаются, хоть что-то получается у единиц: читайте « Чемпион подустал ». Несомненно стоит отметить основательность, с которой Сэм подошёл к задаче. Судя по комментариям в упомянутом обсуждении, многих разработчиков ядра предложенные подходы заинтересовали. На днях в ходе спринта разработчиков CPython прошла встреча с Сэмом, о которой пишет Лукаш Ланга в своей статье « Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross ». Кратко об изменениях: замена текущего варианта подсчёта ссылок «пристрастным», позволяющим нитям по-разному обходиться с объектом, в зависимости от того был он порождён в этой нити или в другой; введение понятия «бессмертных» объектов (например, для None , булевых значений, мелких целых, интернированных строк), для которых не требуется подсчёт ссылок; использование механизма отложенного подсчёта ссылок для глобальных, но «смертных» объектов, типа модулей, функций, объектов кода. Чтобы занесение их на стек не изменяло счётчик, а деаллоцировались они только при сборке мусора; замена аллокатора pymalloc на mimalloc , обеспечивающий безопасную работу с нитями и лёгковесные «кучи»; замена стековой виртуальной машины регистровой для ускорения вызовов функций. Получившаяся версия 3.9 без ГБИ работает на 10% быстрее оригинала. Если же применить все упомянутые изменения, то получается прирост в 19% относительно немодифицированного 3.9. В готовящийся Python 3.11 уже внесены правки, благодаря которым он сейчас на 16% быстрее (при работе в одной нити), чем реализация Сэма. Что ясно уже сейчас: Невозможно определить, сколько составит конкретно ваш выигрыш при использовании реализации без GIL без замеров на реальном коде. Предлагаемые изменения хорошо показывают себя вместе. По-отдельности могут снижать быстродействие. Авторам расширений на Си, если они захотят получить выигрыш, нужно будет адаптировать расширения. Предполагается, что потребуется продолжительный период адаптации, в котором блокировку можно будет отключать/включать по требованию. Проект с подинтерпретаторами может потерять свою актуальность. Не стоит ожидать, что 3.11 выйдет уже без ГБИ. Но, быть может, mimalloc использовать получится. Изменения масштабные, задача сложная. Путь обещает быть неблизким, если по нему пойдут.
Markdown
[![pythonz](https://pythonz.net/static/img/favicon.gif)](https://pythonz.net/ "На главную страницу") - [Статьи](https://pythonz.net/articles/) - [Справочник](https://pythonz.net/references/) - [Видео](https://pythonz.net/videos/) - [Книги](https://pythonz.net/books/) - [Работа](https://pythonz.net/vacancies/) - [События](https://pythonz.net/events/) - [Ещё…](https://pythonz.net/articles/402/) [Путеводитель](https://pythonz.net/categories/) [Места](https://pythonz.net/places/) [Сообщества](https://pythonz.net/communities/) [Версии Python](https://pythonz.net/versions/) [PEP](https://pythonz.net/peps/) [Персоны](https://pythonz.net/persons/) [Приложения](https://pythonz.net/apps/) - [Вход](https://pythonz.net/login/) 1. [Про Python](https://pythonz.net/) 2. [Статьи](https://pythonz.net/articles/) 3. Python 3.9 без GIL. Что дальше? [27 окт. 21 12:46](https://pythonz.net/users/1/ "Добавил: Игорь Стариков") [27 окт. 21 15:10](https://pythonz.net/users/1/ "Редактировал: Игорь Стариков") # Python 3.9 без GIL. Что дальше? Об очередной попытке избавиться от глобальной блокировки интерпретатора. На заметку Если вы ещё не знакомы с ГБИ (GIL) — глобальной блокировкой интерпретатора — полезно будет посмотреть старое, но актуальное видео «[Познавая ГБИ (GIL) Питона](https://pythonz.net/videos/67/)». В [дайджесте 03.10.2021 — 10.10.2021](https://pythonz.net/articles/398/) внимательные читатели могли заметить упоминание темы «[Python multithreading without the GIL](https://mail.python.org/archives/list/python-dev@python.org/thread/ABR2L6BENNA6UPSPKV474HCS4LWT26GY/)» в разделе «Разработка языка». О чём это? 7 октября Сэм Гросс выступил с предложением обсудить вариант подхода к устранению GIL. Не только выступил, но и опубликовал [детальное описание подхода](https://docs.google.com/document/d/18CXhDb1ygxg-YXNBJNzfzZsDFosB5e6BfnXLlejd9l0/edit). И не только опубликовал, но и поделился ссылкой на [репозиторий](https://github.com/colesbury/nogil/), где он применил подход к [Python 3.9](https://pythonz.net/versions/named/3.9/). На заметку Идея избавиться от GIL далеко не нова. Многие об этом говорили и говорят, немногие пытаются, хоть что-то получается у единиц: читайте «[Чемпион подустал](https://pythonz.net/articles/161/)». Несомненно стоит отметить основательность, с которой Сэм подошёл к задаче. Судя по комментариям в упомянутом обсуждении, многих разработчиков ядра предложенные подходы заинтересовали. На днях в ходе спринта разработчиков CPython прошла встреча с Сэмом, о которой пишет [Лукаш Ланга](https://pythonz.net/persons/203/) в своей статье «[Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross](https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/)». Кратко об изменениях: - замена текущего варианта подсчёта ссылок «пристрастным», позволяющим [нитям](https://pythonz.net/videos/153/) по-разному обходиться с объектом, в зависимости от того был он порождён в этой нити или в другой; - введение понятия «бессмертных» объектов (например, для `None`, булевых значений, мелких целых, [интернированных](https://pythonz.net/videos/152/) строк), для которых не требуется подсчёт ссылок; - использование механизма отложенного подсчёта ссылок для глобальных, но «смертных» объектов, типа модулей, функций, объектов кода. Чтобы занесение их на стек не изменяло счётчик, а деаллоцировались они только при сборке мусора; - замена аллокатора `pymalloc` на `mimalloc`, обеспечивающий безопасную работу с нитями и лёгковесные «кучи»; - замена стековой виртуальной машины регистровой для ускорения вызовов функций. Получившаяся версия 3.9 без ГБИ работает на 10% быстрее оригинала. Если же применить все упомянутые изменения, то получается прирост в 19% относительно немодифицированного 3.9. На заметку В готовящийся Python 3.11 уже внесены правки, благодаря которым он сейчас на 16% быстрее (при работе в одной нити), чем реализация Сэма. Что ясно уже сейчас: - Невозможно определить, сколько составит конкретно ваш выигрыш при использовании реализации без GIL без замеров на реальном коде. - Предлагаемые изменения хорошо показывают себя вместе. По-отдельности могут снижать быстродействие. - Авторам расширений на Си, если они захотят получить выигрыш, нужно будет адаптировать расширения. Предполагается, что потребуется продолжительный период адаптации, в котором блокировку можно будет отключать/включать по требованию. - Проект с [подинтерпретаторами](https://pythonz.net/videos/125/) может потерять свою актуальность. - Не стоит ожидать, что [3\.11](https://pythonz.net/versions/named/3.11/) выйдет уже без ГБИ. Но, быть может, `mimalloc` использовать получится. Изменения масштабные, задача сложная. Путь обещает быть неблизким, если по нему пойдут. [0](https://pythonz.net/login/ "Одобряю!") - [ВКонтакте 0](https://pythonz.net/articles/402/#comments_vk) [![](http://www.gravatar.com/avatar/da547139569ae1a1aa2303587cfbdb42/?size=64&d=identicon)](https://pythonz.net/users/1/) [Игорь Стариков](https://pythonz.net/users/1/) *** #### Категории Область - [оптимизация](https://pythonz.net/articles/tags/108/ "О методах и средства оптимизации кода и различных параметров исполнения компьютерных программ.") - [интерпретация](https://pythonz.net/articles/tags/79/ "Материалы, связанные с интерпретаций кода компьютерных программ, а также с самими интерпретаторами.") Интерпретатор - [CPython](https://pythonz.net/articles/tags/23/ "Материалы, связанные с CPython — эталонной реализацией языка программирования Python, написанной на C, являющейся интерпретатором байт-кода.") Аспект языка - [конкурентность](https://pythonz.net/articles/tags/69/) - [ГБИ (GIL)](https://pythonz.net/articles/tags/140/) - [управление памятью](https://pythonz.net/articles/tags/81/) - [сборка мусора](https://pythonz.net/articles/tags/55/) - [нити](https://pythonz.net/articles/tags/127/) *** На заметку Зарегистрированные пользователи могут добавлять Видео. - [Что такое Python](https://pythonz.net/promo/) - [О проекте](https://pythonz.net/about/) - [Карта сайта](https://pythonz.net/sitemap/) - [Поиск по сайту](https://pythonz.net/search/site/) - [Путеводитель](https://pythonz.net/categories/) - [Статьи](https://pythonz.net/articles/) - [Справочник](https://pythonz.net/references/) - [Видео](https://pythonz.net/videos/) - [Книги](https://pythonz.net/books/) - [Работа](https://pythonz.net/vacancies/) - [События](https://pythonz.net/events/) - [Места](https://pythonz.net/places/) - [Сообщества](https://pythonz.net/communities/) - [Версии Python](https://pythonz.net/versions/) - [PEP](https://pythonz.net/peps/) - [Персоны](https://pythonz.net/persons/) - [Приложения](https://pythonz.net/apps/) ![](https://mc.yandex.ru/watch/21211468)
Readable Markdown
Об очередной попытке избавиться от глобальной блокировки интерпретатора. Если вы ещё не знакомы с ГБИ (GIL) — глобальной блокировкой интерпретатора — полезно будет посмотреть старое, но актуальное видео «[Познавая ГБИ (GIL) Питона](https://pythonz.net/videos/67/)». В [дайджесте 03.10.2021 — 10.10.2021](https://pythonz.net/articles/398/) внимательные читатели могли заметить упоминание темы «[Python multithreading without the GIL](https://mail.python.org/archives/list/python-dev@python.org/thread/ABR2L6BENNA6UPSPKV474HCS4LWT26GY/)» в разделе «Разработка языка». О чём это? 7 октября Сэм Гросс выступил с предложением обсудить вариант подхода к устранению GIL. Не только выступил, но и опубликовал [детальное описание подхода](https://docs.google.com/document/d/18CXhDb1ygxg-YXNBJNzfzZsDFosB5e6BfnXLlejd9l0/edit). И не только опубликовал, но и поделился ссылкой на [репозиторий](https://github.com/colesbury/nogil/), где он применил подход к [Python 3.9](https://pythonz.net/versions/named/3.9/). Идея избавиться от GIL далеко не нова. Многие об этом говорили и говорят, немногие пытаются, хоть что-то получается у единиц: читайте «[Чемпион подустал](https://pythonz.net/articles/161/)». Несомненно стоит отметить основательность, с которой Сэм подошёл к задаче. Судя по комментариям в упомянутом обсуждении, многих разработчиков ядра предложенные подходы заинтересовали. На днях в ходе спринта разработчиков CPython прошла встреча с Сэмом, о которой пишет [Лукаш Ланга](https://pythonz.net/persons/203/) в своей статье «[Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross](https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/)». Кратко об изменениях: - замена текущего варианта подсчёта ссылок «пристрастным», позволяющим [нитям](https://pythonz.net/videos/153/) по-разному обходиться с объектом, в зависимости от того был он порождён в этой нити или в другой; - введение понятия «бессмертных» объектов (например, для `None`, булевых значений, мелких целых, [интернированных](https://pythonz.net/videos/152/) строк), для которых не требуется подсчёт ссылок; - использование механизма отложенного подсчёта ссылок для глобальных, но «смертных» объектов, типа модулей, функций, объектов кода. Чтобы занесение их на стек не изменяло счётчик, а деаллоцировались они только при сборке мусора; - замена аллокатора `pymalloc` на `mimalloc`, обеспечивающий безопасную работу с нитями и лёгковесные «кучи»; - замена стековой виртуальной машины регистровой для ускорения вызовов функций. Получившаяся версия 3.9 без ГБИ работает на 10% быстрее оригинала. Если же применить все упомянутые изменения, то получается прирост в 19% относительно немодифицированного 3.9. В готовящийся Python 3.11 уже внесены правки, благодаря которым он сейчас на 16% быстрее (при работе в одной нити), чем реализация Сэма. Что ясно уже сейчас: - Невозможно определить, сколько составит конкретно ваш выигрыш при использовании реализации без GIL без замеров на реальном коде. - Предлагаемые изменения хорошо показывают себя вместе. По-отдельности могут снижать быстродействие. - Авторам расширений на Си, если они захотят получить выигрыш, нужно будет адаптировать расширения. Предполагается, что потребуется продолжительный период адаптации, в котором блокировку можно будет отключать/включать по требованию. - Проект с [подинтерпретаторами](https://pythonz.net/videos/125/) может потерять свою актуальность. - Не стоит ожидать, что [3\.11](https://pythonz.net/versions/named/3.11/) выйдет уже без ГБИ. Но, быть может, `mimalloc` использовать получится. Изменения масштабные, задача сложная. Путь обещает быть неблизким, если по нему пойдут.
Shard112 (laksa)
Root Hash17356767571072496112
Unparsed URLnet,pythonz!/articles/402/ s443