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
В попытках сделать промо для своего курса на Физтехе по CPython Internals
Попробовал несколько подходов
Один из них более креативный

Нужны свежие идеи сцен и реплик в комментариях

Кстати, в CPython скорее скоро завезут green threads
В чём их отличие от free-threading реализации распишу позже

@PY.UP
👍5🐳1
Ну-ка, ну-ка / Python: The Documentary Film
— интервью с ключевыми людьми экосистемы
— поворотные моменты в развитии и сложности сообщества
— как формировались ценности, роль PSF и почему культура Python важнее «фич»
— а здесь Q&A по фильму на EuroPython

@PY.UP
🔥4🐳2
Всем привет
Виде с моим выступлением на PyCon2025 опубликовано
noGIL: погружение в будущее CPython3.14


Updates:

1. Пригласили на сл.конференции c докладом: CPython Under Load: NoGIL, GreenThreads, AsyncIO vs. Other Langs: deep-dive in core and benchmarks
— 25.09 PyCon Гана (Африка) — думаю отказаться, тк организаторы слишком поздно сообщили об этом мне
— 17.10 PyCon Финляндии — посольство не выдаёт визу, ищу обходные пути
— 06.12 PyCon Индонезия — еду

3. Начал сочинять музыку о CPython:
— уже есть весьма и весьма хорошие фидбеки на черновик, который послушал узкий кругу разных людей
— планирую выпустить альбом к end-2025 / mid-2026
— совершенно не шарю как делается выпуск альбома, если кто шарит, то не помешали ли бы советы или контакты таких людей

@PY.UP
🔥6🐳1
Ребятки, всем привет
Это было топово — конфа в НН. Всем рекомендую ездить по конфам и оставаться на пре-/пост-пати дискуссии, столько нового узнаёте: сильных людей и глубокие мысли — стоящие разговоры!

Отдельно хочу поблагодарить
Васю Рябова, Мишу Ефимова, Серёжу Мирянова
— сильные доклады, глубокие дискуссии, титаны 🔥
Оч.рад был видеть среди спикеров Давида Джалаева!

Отдельные респект Никите Соболеву и оргам — высокий уровень конфы и атмосферы!

Здесь преза.
В презе есть видео, которые отсутствовали в pdf на выступлении — добавляет понимания.

В этот Пн вечером буду выступать на MoscowPython: Дотянуться до кремния. HighLoad Python: SIMD, GPU
Записи выступлений по докладу:
Нижний Новгород
MoscowPython

Если есть вопросы по теме доклада, то пишите их в комменты или приходите задать в Пн.

Будем понимать, как сыпучий песок превращается в исполнение
print(1+1) — и как вычисляется

UPD: короткая визуализация производства

@PY.UP
🔥12🐳1