TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Находки в опенсорсе

24 Aug, 12:13

Открыть в Telegram Поделиться Пожаловаться

JIT могут удалить из CPython!

PEP-836: https://peps.python.org/pep-0836

JIT в CPython имеет очень много проблем, давайте их обсудим.
Если вы все пропустили, то вот вам краткий таймлайн всей истории:
- В мае 2021 года создается команда Faster CPython, под руководством Гвидо в MS, которая должна работать над улучшением скорости CPython
- Где-то в 2022м году к команде присоединяется Brandt Butcher, автор первой версии JIT
- В октябре 2023 года, Brandt презентовал свою идею добавления JIT в CPython
- В январе 2024 года, PR был влит в 3.13, создана первая версия Copy-and-Patch JIT
- В апреле 2024 года релиз менеджеры и SC с таких новостей немного прифигели и попросили сделать PEP хотя бы пост-фактум: https://peps.python.org/pep-0744
- В октябре 2024 года выходит 3.13 с JITом, который можно включить опционально
- В мае 2025 года MS увольняет всех участников команды Faster CPython
- В октябре 2025 года выходит 3.14 с JIT бинарниками. Теперь можно было выбрать образ, который планируешь использовать. Free-Threading все еще не поддерживается
- В конце 2025 года добавлен Tracing JIT
- В июне 2026 года SC выпускает объявление, что работа над JIT полностью заморожена до момента пока: не будет опубликован четкий план развития JIT, конкретные метрики успешности проекта, дизайн АПИ (планировали подключать разные JITы в будущем, но от такой идеи отказались)
- В июле 2026 появляется PEP-836 с ответами на вопросы SC, пока его статус "ждет ответа от SC"

Что произойдет, если SC откажется от текущего PEP? Весь код JIT должен быть удален из 3.16+
Возможно ли такое? Вероятность мала, но она пока есть.

А что по скорости?

Перформанс - основная проблема текущего JITа. А точнее отсутствие перформанса.
Официальные цифры такие:

- В 3.13 разница была +-0%, потому что задача была по сути просто добавить инфру для дальнейших оптимизацией. Принимается.
- В 3.14 разброс был от -10% до +20% на разных кейсах. Говорить, что стало быстрее в общем - нельзя, потому надо замерять каждый кусок кода отдельно.
- В 3.15 наконец-то появилась заявленная цель в 5% среднего ускорения. Чего вроде бы добились на всех платформах. Где-то чуть лучше, где-то похуже. Но и кейсы ускорились не все.
- В 3.16 сейчас ставят цель в 10%, пока рано говорить об успешности

Все точные данные можно посмотреть на официальном сайте: https://www.doesjitgobrrr.com

Какие еще большие задачи ждут JIT?

- Необходимо добавить полную поддержку Free-Threading
- Увеличить покрытие тестами
- Добавить поддержку дебаггеров и профайлеров для JIT кода

Цели выше ставились для 3.15, их успешно продолбали. В том числе из-за необходимости писать PEP.

- Добавить 2х человек в команду
- Поддержать LLVM 22 и возможно другие версии
- Полноценная документация
- Возможно получится убрать build-time зависимость от LLVM для сборки JIT, как планировалось ранее

В работе прямо сейчас в рамках 3.16 релиза.

Итоги

Денег больше нет, команда работает на волонтерских началах, сроки жмут, начальство душит. Знакомо? 🌚
Но вера все еще живет!

Я приглашаю вас всех присоединяться к развитию JIT! Давайте вместе сделаем CPython быстрее.
Как? Открывайте задачки, читайте код, реализуйте оптимизации, улучшайте существующие, добавляйте thread-safety для FT, гоняйте бенчмарки, пишите тесты! Работы - буквально вагон.

Обсуждение: Верите ли вы в JIT в CPython? Готовы ли вы помочь?

Одной строкой

- В среду будет митап MoscowPython, где я буду выступать, приходите. Места для регистраций еще есть!
- Релизнули подкаст с @pylounge, поговорили про DMR, псиопы в разработке, общее ощущение усталости и упадка в мировом IT

| Поддержать | YouTube | GitHub | Чат |

3.8k 2 46 87 86
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot