PY.UP | TalkCPython2us – Telegram
PY.UP | TalkCPython2us
187 subscribers
7 photos
2 videos
20 links
о CPython и его кишках, high-performance computing, вычислениях на GPU, open source contributing и разработку

write to me: @PyotrAndreev
Download Telegram
Channel created
У сообщества PY.UP предполагается 2 трека:
1. смотрим кишочки CPython
2. развиваем Python pet-проекты, а-ля стартапы

В недалёком будущем в PY.UP запланирован курс по CPython кишочкам от core-dev CPython, Никиты Соболева
🐳2
Доклад “noGIL: погружение в будущее Python”
Конференция IT-Purple

Сопровождающие материалы ниже:
🐳1
Добрый день
В эту Ср в 17:45 студенты 2-го курса Физтеха будут защищать свои вопросы по выбору

Темы:
- внутренняя работа Yield. Применение YIELD_FROM в Async/Await в Python
- pyspark, pytest и их тандем
- сборка мусора в python. Общие подходы, GIL и noGIL реализации
- memory allocation in СPython
- noGIL в python 3.13 (PEP 703)

Если получится, то будет трансляция в PY.UP,
если нет, то будут записи
🔥5🐳1
Сегодня даю доклад в 19:00 «Python: C, byte-code, GIL» на MoscowPython

Agenda:
- Byte-code
- Что происходит, когда вы запускаете CPython-скрипт
- GIL

Сегодня Будут ещё 2 доклада:
— «Поиск аномалий в данных, алгоритмы KNN и LOF»
— и про котов
Смотреть
онлайн
🔥4🐳1
PY.UP | TalkCPython2us
Сегодня даю доклад в 19:00 «Python: C, byte-code, GIL» на MoscowPython Agenda: - Byte-code - Что происходит, когда вы запускаете CPython-скрипт - GIL Сегодня Будут ещё 2 доклада: — «Поиск аномалий в данных, алгоритмы KNN и LOF» — и про котов Смотреть онлайн
Презентация Python: C, byte-code, GIL

Получилось более сжато немного обрезано, чем я ожидал
Но, надеюсь, зашло с инфо-графикой. Есть определённые сложности рассказывать о внутрянке CPython, т.к. возникает вопрос «а зачем эти знания и как их применять?».

Хороший вопрос.
Ответ: «Да, просто интересно. Интересно понимать всю картину, в которой живёшь и делаешь проекты. После может и влиять на развитие CPython. Весьма популярный язык. Большой вклад.»

Были хорошие вопросы
Нужны ещё каверзные от вас :)
3🐳1
Возможно, в скором будещем
Ownership conception in Python
Статья от 13 June 2025

Влияние RUST'a?
🐳3👍1
Эксперементировали ли вы с free threading CPython?
Anonymous Poll
10%
Я не на PyCon
79%
Нет
9%
Запустил пару раз (без benchmarks)
2%
Да, активно
🐳1
noGIL: погружение в будущее CPython 3.14
— презентация с PyCon 2025

Основные проблемы с GIL и их решения (слайды 7-21, 45-57):

GIL как "бутылочное горлышко":
GIL ограничивает использование многоядерных процессоров для CPU-bound задач, замедляет предобработку данных для GPU, масштабирование ML-алгоритмов (особенно Reinforcement Learning), и усложняет отладку и логирование при использовании процессов вместо потоков. Обход GIL через процессы (multiprocessing) приводит к дополнительным накладным расходам на межпроцессное взаимодействие (IPC) и сериализацию данных (pickle), что дорого (слайды 7-13).

Удаление GIL:
Несовместимость с существующими расширениями и проблемы с потокобезопасностью внутренних структур памяти CPython (race condition) затрудняют полное удаление GIL (слайды 15-16).

Free-threading (без GIL):
Для обеспечения потокобезопасности без GIL предлагаются механизмы, такие как атомарные операции и критические секции. Атомарные операции гарантируют завершение, а критические секции (Py_BEGIN_CRITICAL_SECTION и Py_END_CRITICAL_SECTION) обеспечивают потокобезопасность без явной блокировки, но могут снижать производительность, так как другие потоки вынуждены ждать (слайды 47-57).

Оптимизации управления памятью:
Введение Biased Reference Counting (BRC) и Deferred Reference Counting (DRC) для ускорения подсчета ссылок без GIL. BRC позволяет потоку-владельцу изменять счетчик ссылок неатомарно, а другие потоки делают это атомарно. DRC — отложенные обновления счетчиков ссылок. Это позволяет улучшить производительность за счет уменьшения дорогостоящих атомарных операций (слайды 59-63).

Новый сборщик мусора (GC):
В новой версии CPython без GIL GC будет использовать механизм "Stop-the-world" для вычисления реального количества ссылок на объекты, учитывая отложенные изменения, и не будет поколений. Также планируется замена pymalloc на mimalloc для потокобезопасности и лучшей производительности (слайды 64-70).

Поднимай: PY.UP
🔥4🐳2
О прошедшем PyCon написали обзор на Tproger
В нём можно увидеть беглый взгляд по некоторым докладам. Весьма информативно для общего представления и фиксации куда мы движемся.

В обзоре описание и моего доклада: есть неточности. Тем не менее, советую заглянуть, если вы хотите увидеть куда «оно» движется. Для полной картины смотрите исходники, начните с моей презы и видео, которое появится здесь.

Благодарю оргов за PyCon, было здорово

@PY.UP
🔥2🐳2