Python 3.14 станет быстрее на 30% без изменений в коде. Оптимизация хвостовых вызовов ускорит работу интерпретатора уже в 2025 году
155 открытий266 показов
Python 3.14, релиз которого ожидается уже в этом году, получит новый тип интерпретатора, способного ускорить производительность на 30%.
И главное — без единой правки в существующем коде.
В чём суть нововведения?
В CPython 3.14 появится оптимизация, основанная на так называемых tail calls. Но это не классическая оптимизация хвостовых вызовов из функциональных языков программирования.
Речь идёт о специальной оптимизации C-компилятора, которая позволяет ускорить выполнение байт-кода за счёт более эффективной работы интерпретатора.
Что это значит для разработчиков?
- Код менять не нужно — оптимизация работает «под капотом».
- Модули C не требуют перекомпиляции — все расширения останутся совместимыми.
- Минимальная нагрузка на поддержку — изменения базируются на уже существующих наработках.
Новый интерпретатор будет включён по умолчанию в готовые сборки Python 3.14.
А для тех, кто компилирует Python из исходников, появится новый флаг:
--with-tail-call-interp
Есть ли ограничения?
Да. Чтобы воспользоваться ускорением, потребуется компилятор C с поддержкой оптимизации хвостовых вызовов.
На момент публикации известно, что:
- MSVC (Windows) — поддерживает оптимизацию.
- Clang 19+ — работает на архитектурах x86-64 и AArch64.
- GCC — пока нет поддержки, но ожидается в ближайших обновлениях.
Почему Python такой медленный?
Python исторически проигрывает языкам вроде C++ или Rust в скорости, потому что:
- язык динамически типизирован
- интерпретатор выполняет множество проверок во время выполнения.
- традиционно приоритетом была совместимость, а не максимальная производительность.
Однако последние годы разработчики CPython активно внедряют оптимизации без ущерба для обратной совместимости.
Например, ранее были введены:
- Специализированные опкоды для частых операций.
- JIT-оптимизации в рамках проекта Faster CPython.
Теперь же оптимизация хвостовых вызовов может стать следующим значительным шагом.
Когда можно протестировать?
Первые альфа-версии Python 3.14 уже содержат новый интерпретатор. Бета-релиз запланирован на май 2025 года.
Закрываем задачи перед Новым годом: что горит, а что можно отложитьtproger.ru
Эксперты считают, что эта оптимизация может стать самым заметным ускорением Python за последние годы.