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

write to me: @PyotrAndreev
Download Telegram
Эксперементировали ли вы с 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
Ниже пост от организаторов конференции с моими правками

Записи с нашей бесплатной конфы в Нижнем подъехали!


Во-первых, хочу еще раз повторить слова благодарности всем: организаторам и волонтерам, спикерам, участникам. Отдельно хочу отметить тех, кто поддержал конфу анонсами. Приехало и пришло очень много людей: 1100+ регистраций, почти 600 человек на площадке. Вы все крутые!

Во-вторых, в программе случились две замены. Ждем ребят, кто не смог приехать, на будущих мероприятиях.

Постарался найти баланс между хардкорнейшими докладами, спикерами-новичками (они обязательно должны быть на любой конференции, по моему мнению, я когда-то был таким спикером-новичком) и легкими погружениями в технологии.

Конкуренция за звание "лучшего" доклада – высочаящая. Выбирать будем не по каким-то там голосованиям, которые ни на что не влияют, а по просмотрам на ютюбе. Поддержите спикеров и меня просмотрами :)

Выкладываю записи сразу, а не через полгода.

Доклады в порядке выступлений:
- Чего вы не знали о строках в Python? / Василий Рябов
- ИИ-агенты в каждый дом / Алексей Порядин
- Генератор байткода и байткод генератора / Михаил Ефимов
- Внутреннее устройство сборки мусора в CPython 3.14+ / Сергей Мирянов
- Проектирование — это когда чувствуешь, а не какие-то там циферки / Николай Хитров
- Дотянуться до кремния. HighLoad Python: SIMD, GPU / Пётр Андреев
- Continuous profiling / Давид Джалаев
- Vim — это метаредактирование / Илья Ильиных

При поддержке:
- https://it52.info
- https://itgorky.ru
- Находки в опенсорсе

@PY.UP
🔥5🐳1
Всем привет
Кому не сложно, можете забустить канал?
https://t.iss.one/boost/py_up

Я опубликую сторис с наброском музыки о CPython
Нужен n-й уровень канала для публикации наброска
👍7🐳1
Ребятки, спасибо за буст поддержку!
Поднялись весьма высоко :)

В сторис музыкальный отрывок — черновик о CPython.

Финальную версию планирую делать более дерзкой в стиле funk + hip-hop.
А сейчас тёплый-душевный groove для Пятницы — самое то 🌞🍀👀
Сопровождаю атмосферным видео рядом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3🐳1
Всех с праздником
релиз 3.14.0
Чего нового смотреть здесь
🐳9🎉3🔥1🎄1
#Q:CPython-warm-up 'где хранится значение инта ?'

И что думаете про вывод :)
Ночная разминка перед сегодняшним утром

Ваши соображения в комментарии
Заходи -> PY.UP
🔥2🐳1😨1
Когда на онлайн конференции ты задал вопрос и попытался поддержать немолодого спикера, когда он не смог ответить на твой вопрос, но Копи-Паст попал не туда 🥲

Видели бы вы лицо ведущего :) озвучивешго этот вопрос в спешке
Эх, это ощущение шейминга

p.s.: перечитываю и продолжаю смеяться, над ошибками тоже
😁7🐳2
И видишь Мишу с коммитами :)
@mikhail_efimov

Сегодня моим студентам рассшаривал за Git/GitHub
А тут Миша )
🐳2😎1
Со своими я провожу батлы, где мы бодаемся на прогерские темы.
Где есть Quiz'ы и баталии в группах из 3 человек.
Баталии — fast дебаты, где 2 противоположные позиции борются друг с другом в отведённое время на атаку/защиту.
В конце раунда выявляется победитель. Всё происходит по правилам, дабы избежать бойни.

Хочу проверить спрос, на сколько такое востребовано в массах.

Есть 2 варианта:
1. очное мероприятие в МСК / Долгопрудном
2. online event

В опросе можно проголосовать за несколько вариантов:
This media is not supported in your browser
VIEW IN TELEGRAM
Звук …
Хотите послушать кор девов CPython, вам сюда

PY.UP
🔥2😁2