← На главную

Python Steering Council:JIT-код уберут из main без Standards Track PEP

06.06.2026 15:30 · hackernews

Python Steering Council выпустил обращение по поводу экспериментального JIT-компилятора в CPython. Несколько лет разработчики встраивали JIT в основную ветку, и результаты по производительности есть — реальные и обнадёживающие. Но Совет считает, что пора пересмотреть статус проекта.

Когда JIT влили в main, он был экспериментом. Единственный связанный с ним PEP 744 — информационный, а не утверждающий стандарт. В нём перечислены открытые вопросы: нужны долгосрочные мейнтейнеры, security review, поддержка отладчиков и внешних инструментов, гарантии рантайма и обязательства для дистрибьюторов. Совет признаёт: коллективно они сами были недостаточно строги к процедуре. Все эти вопросы до сих пор не решены.

Поэтому Совет требует настоящий Standards Track PEP. В нём сообщество должно обсудить и проголосовать за JIT как за полноценную, неэкспериментальную часть CPython. Пока такой PEP не примут — новую функциональность, оптимизации и улучшения производительности в main добавлять нельзя. Багфиксы и исправления безопасности, конечно, продолжаются.

Совет не настаивает на единственном варианте реализации. Лучше описать инфраструктуру JIT, которая поддерживает разные стратегии. Сейчас появляется много разных tracing-подходов, и инфраструктура должна давать возможность с ними экспериментировать, а не привязываться к одному.

PEP должен ответить минимум на такие вопросы: план долгосрочной поддержки и влияние на остальных мейнтейнеров; совместимость с существующими возможностями CPython (free-threading, профилировщики, отладчики); чёткие метрики успеха и сроки (производительность, платформы, потребление памяти); отношение к другим JIT (CinderX, Numba, PyTorch) — будет ли это общая платформа; и стабильна ли текущая архитектура JIT или будет меняться.

На всё это Совет даёт шесть месяцев. Если PEP не примут в срок — код JIT уберут из main, и разработка продолжится вне основного репозитория Python.

Читать оригинал →