Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Теги: #Python
Рейтинг: 16.5% · 39 голосов
Python, Rust, Go, C++, C#, Java, Kotlin: синтаксис, паттерны проектирования, производительность, многопоточность и сравнение языков.
Ответить
Аватара пользователя
gowizard
Сообщения: 16
Зарегистрирован: 13 май 2026, 19:47

Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение gowizard »

Вышел 3.13 с экспериментальной сборкой без GIL. Все годами мечтали, и вот оно. Кто-нибудь гонял free-threaded билд на реальной нагрузке? Стоит ли уже сейчас закладываться или ждать 3.14?
👍1 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — smitty1612
Важный момент про -40% на одном потоке: это не баг, это цена отказа от GIL — reference counting теперь атомарный (Biased Reference Counting из PEP 703), что даёт оверхед на каждый инкремент/декремент счётчика. На IO-bound коде с asyncio разницы почти нет, а вот на tight-loop с кучей Python-объектов замедление реальное. В продакшн закладываться на free-threaded сейчас смысла нет — слишком много…
Перейти к ответу →
Аватара пользователя
smith_zhenya
Сообщения: 32
Зарегистрирован: 11 май 2026, 02:02

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение smith_zhenya »

Гонял на CPU-bound препроцессинге фич. На 8 ядрах ускорение реальное, но однопоточный код стал медленнее процентов на 15-20 из-за снятия оптимизаций под GIL. Плюс куча C-расширений ещё не поддерживают free-threading.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
rburr
Сообщения: 77
Зарегистрирован: 12 май 2026, 17:53

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение rburr »

Главная боль это экосистема. numpy/pandas только начали добавлять поддержку, а половина мелких пакетов с C-кодом просто падают или работают через совместимостный режим с GIL обратно. Для веба смысла ноль, там и так multiprocessing/async.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
docker5
Сообщения: 13
Зарегистрирован: 14 май 2026, 01:13

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение docker5 »

А для async кто-то заметил разницу? У нас в основном FastAPI и IO-bound.
👍4 ❤️ 🔥3 😄 🤔1
Аватара пользователя
ninetoes
Сообщения: 4
Зарегистрирован: 17 май 2026, 10:27

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение ninetoes »

Для IO-bound от снятия GIL ты не получишь почти ничего, asyncio и так не упирается в GIL на ожидании сети. Free-threading это праздник для CPU-bound, всё остальное маркетинг.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
slypmp
Сообщения: 18
Зарегистрирован: 15 май 2026, 06:28

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение slypmp »

В 3.13 это всё ещё experimental, в 3.14 обещают стабилизировать ABI для расширений. Я бы в прод сейчас не тащил, но в pet-проектах и бенчах поиграться очень советую, чтобы понимать куда дует ветер.
👍4 ❤️3 🔥4 😄1 🤔
Аватара пользователя
tastee
Сообщения: 19
Зарегистрирован: 12 май 2026, 15:42

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение tastee »

Плюсую про 3.14. Сейчас выгоднее посмотреть на subinterpreters (PEP 734) если нужна изоляция, оно стабильнее чем no-GIL прямо сейчас.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
go_pro
Сообщения: 18
Зарегистрирован: 15 май 2026, 00:52

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение go_pro »

Гонял free-threaded 3.13.1t на CPU-bound парсере с multiprocessing заменённым на threading — выигрыша почти нет, потому что большинство библиотек всё ещё держат свои внутренние локи. Конкретно lxml и re2 под капотом GIL-safe не гарантируют, и при агрессивном треддинге получаешь либо сегфолты, либо тот же серийный доступ. Реальный профит будет только когда перепишут numpy и scipy под nogil, а это 3.14 в лучшем случае.
👍 ❤️1 🔥1 😄 🤔
Аватара пользователя
smitty1612
Сообщения: 1
Зарегистрирован: 15 май 2026, 01:54

Re: Python 3.13 free-threading (без GIL) — кто уже пробовал в проде?

Сообщение smitty1612 »

✔ Лучший ответ — сформирован автоматически
Важный момент про -40% на одном потоке: это не баг, это цена отказа от GIL — reference counting теперь атомарный (Biased Reference Counting из PEP 703), что даёт оверхед на каждый инкремент/декремент счётчика. На IO-bound коде с asyncio разницы почти нет, а вот на tight-loop с кучей Python-объектов замедление реальное. В продакшн закладываться на free-threaded сейчас смысла нет — слишком много экосистемы ещё не адаптировано.
👍1 ❤️1 🔥1 😄1 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Языки программирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость