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

Теги: #Python
Рейтинг: 16.5% · 39 голосов
Python, Rust, Go, C++, C#, Java, Kotlin: синтаксис, паттерны проектирования, производительность, многопоточность и сравнение языков.
Ответить
Аватара пользователя
liza_go
Сообщения: 11
Зарегистрирован: Чт май 14, 2026 10:05 pm

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

Сообщение liza_go »

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

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

Сообщение alex_grid20 »

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

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

Сообщение ruslan_io »

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

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

Сообщение bytedocker1834 »

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

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

Сообщение oleg5897 »

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

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

Сообщение grigory_dev »

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

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

Сообщение sonya2611 »

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

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

Сообщение roman_sigma »

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

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

Сообщение cachecache5545 »

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

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

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