Python 3.14 вышел: GIL потихоньку отпускает, а мы наконец-то дождались
Python 3.14 вышел: GIL потихоньку отпускает, а мы наконец-то дождались
Помните, как лет пять назад на каждой конференции кто-нибудь обязательно спрашивал: «А когда в Python уберут GIL?» И все дружно вздыхали и говорили «ну, лет через десять». Так вот, десять не понадобилось. Python 3.14 официально вышел, и наконец-то free-threading — тот самый режим без глобальной блокировки интерпретатора — перешёл из разряда экспериментальных в более-менее рабочий инструмент. Не то чтобы всё сразу стало идеально, но лёд тронулся.
Что именно поменялось
Главная новость — сборка с отключённым GIL теперь считается официально поддерживаемой (PEP 779), хотя и с оговорками: разработчики честно предупреждают, что однопоточная производительность в этом режиме пока проседает на 10–15%, а некоторые C-расширения ещё не готовы. Зато многопоточные задачи на многоядерных машинах наконец-то начинают ускоряться по-настоящему, а не делают вид. Параллельно в стандартную библиотеку добавили модуль compression.zstd — нативная поддержка Zstandard, того самого алгоритма сжатия от Facebook*, который мы все годами ставили отдельным пакетом.
Ещё из приятного: в синтаксисе появилась возможность писать несколько исключений в except без скобок (наконец-то!), а аннотации типов стали ленивыми по умолчанию — это должно заметно ускорить импорт больших кодовых баз. Для тех, кто пишет на C-API, добавили новые функции для работы с free-threading, так что автор расширений теперь может адаптировать свои библиотеки без экзотических костылей. Подробности и полный список изменений — в официальной документации Python.
📖 Кстати, больше новостей, гайдов и разборов для разработчиков мы собираем в нашей рубрике IT и разработка на сайте Lamvi.Art. Заходите почитать!
Что это значит для нас с вами
Если вы пишете на Python и у вас есть задачи, которые упираются в CPU — обработка данных, парсинг, ML-пайплайны, — теперь стоит присмотреться к free-threading сборке всерьёз. Пока не стоит переводить туда весь продакшен, но поэкспериментировать в тестовом окружении уже самое время. А вот обычным веб-разработчикам на Django или FastAPI спешить некуда: asyncio там всё ещё решает большинство задач, и ломать работающее ради модного флага не нужно.
В любом случае приятно видеть, что Python не закостенел и продолжает меняться — пусть и осторожными шагами. Обновляйтесь, тестируйте, рассказывайте, как оно.
📌 Чтобы не пропустить новые публикации, подписывайтесь там, где вам удобнее: Дзен или MAX.
💛 Если статья оказалась полезной, поддержите автора донатом.
* Facebook — признана террористической организацией, деятельность запрещена на территории РФ.
Материал подготовлен на основе информации из открытых источников. Все права на исходные материалы принадлежат их авторам. Если вы являетесь правообладателем и возражаете против использования материала, либо обнаружили неточность или имеете иное мнение о фактах, изложенных в статье, — напишите нам по адресу info@lamvi.art. Мы всегда открыты к диалогу и внимательно рассмотрим ваше обращение.