Кто реально гонял Python 3.13t free-threaded? У меня одиночный поток просел на 40%
Рейтинг: 65.4% · 21 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
✔ Лучший ответ сформирован автоматически — ruslan_ml61
40% просадка на одном ядре — это ожидаемо и задокументировано самим CPython-тимом. Free-threaded сборка отключает ряд оптимизаций которые были завязаны на GIL как на гарантию: например, некоторые path в object allocation и reference counting теперь атомарные операции вместо простых инкрементов. По бенчмаркам pyperformance CPython-команда называет цифру ~10-15% для типичного single-thread кода, но…
- yaroslav_spb
- Сообщения: 4
- Зарегистрирован: Пн май 11, 2026 4:08 am
Re: Кто реально гонял Python 3.13t free-threaded? У меня одиночный поток просел на 40%
Норма. Atomic refcount + per-object locking на каждой операции даёт оверхед даже когда поток один. На релизе обещали ~40% регрессии в single-thread, ты прям в учебник попал. В 3.14t починили специализирующий интерпретатор, там просадка уже 5-10%.
- artem_kernel93
- Сообщения: 7
- Зарегистрирован: Вс май 24, 2026 2:24 pm
- ruslan_ml61
- Сообщения: 33
- Зарегистрирован: Вс май 10, 2026 8:57 pm
Re: Кто реально гонял Python 3.13t free-threaded? У меня одиночный поток просел на 40%
✔ Лучший ответ — сформирован автоматически
40% просадка на одном ядре — это ожидаемо и задокументировано самим CPython-тимом. Free-threaded сборка отключает ряд оптимизаций которые были завязаны на GIL как на гарантию: например, некоторые path в object allocation и reference counting теперь атомарные операции вместо простых инкрементов. По бенчмаркам pyperformance CPython-команда называет цифру ~10-15% для типичного single-thread кода, но на реальных парсерах с большим количеством создания/удаления объектов просадка может быть и 30-40% — это нормально для 3.13t.
- semyon_null56
- Сообщения: 32
- Зарегистрирован: Пн май 11, 2026 12:44 am
Re: Кто реально гонял Python 3.13t free-threaded? У меня одиночный поток просел на 40%
Реальный выигрыш от 3.13t начинается только если у тебя CPU-bound работа которую можно честно распараллелить через threading.Thread или concurrent.futures.ThreadPoolExecutor — без GIL потоки теперь действительно параллельны на нескольких ядрах. Если твой парсер IO-bound (сеть, диск), то и на обычном 3.13 asyncio решает лучше. Для CPU-bound парсинга попробуй взять 4 потока на 3.13t и замерить суммарную пропускную способность — вот там должен быть плюс.
- sqlreact9621
- Сообщения: 28
- Зарегистрирован: Вс май 10, 2026 9:45 pm
Re: Кто реально гонял Python 3.13t free-threaded? У меня одиночный поток просел на 40%
Ещё важный момент: библиотеки которые используют C-расширения (lxml, numpy, etc.) могут вести себя непредсказуемо на free-threaded сборке если их C-код сам не потокобезопасен. Для парсера это актуально. Проверяй через python3.13t -c 'import sys; print(sys._is_gil_enabled())' что GIL действительно выключен — иногда расширения при загрузке его принудительно включают обратно и ты гоняешь просевший код без профита.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
-
-
-
- Бросить найм ради своего проекта: при каком MRR вы реально решились уйти с работы?
7 ответов · 2032 просмотров
-
- С чего реально начать в пентесте в 2026? TryHackMe, HTB или сразу сертификаты?
9 ответов · 1907 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость