TGViewer
Zen of Python Zen of Python @zen_of_python · 18.9K subscribers
Post #4924 1.69K
Отключение GIL ускоряет не всё и берёт плату памятью. Хосе Даниэль Монтойя Саласар сравнил сборки Python 3.14.2 с GIL и без него на четырёх классах нагрузок, меряя время, загрузку ядер, память и потраченную энергию.

На распараллеливаемых задачах с независимыми данными свободнопоточная сборка сокращает время до 4 раз, и энергия падает примерно во столько же. На последовательных выигрыша нет вовсе, а энергии тратится на 13–43 процента больше. Там, где потоки часто читают и меняют одни и те же объекты, ускорение меньше или уходит в минус из-за конкуренции за блокировки.

Энергия во всех замерах пропорциональна времени: снятие GIL почти не меняет мощность, даже когда загрузка ядер вырастает в десять раз.

Память растёт почти везде, виртуальная заметнее физической. Причины — блокировка на каждый объект, дополнительные механизмы потокобезопасности в рантайме и новый аллокатор.

@zen_of_python
  • 🤣 2
  • ❤ 1
More from @zen_of_python
  1. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  2. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  3. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
  4. Sep 19, 2026Как перевести Python-сервер MCP с FastMCP на SDK 2.x Свежая установка зависимостей сломала…
  5. Sep 19, 2026Как кэшировать методы чужого Python-клиента Если библиотечный клиент нельзя менять, его ме…
  6. Sep 19, 2026Где заканчивается ускорение NumPy и что выбрать дальше Векторизация выполняет цикл низкоур…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →