ChatCrawlerпоиск по публичному Telegram Открыть приложение
P

Python Community | Chat

сообщение · 2026-09-19 12:55 UTC
I
Ссылка
нажмите — покажем
‍🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретного объекта. Начиная с Python 3.11 обычный obj.x часто вообще не делает lookup по словарю. После прогрева интерпретатор специализирует LOAD_ATTR, а значение читается почти напрямую из inline storage объекта. Но достаточно выполнить: `obj.__dict__` или: `vars(obj)` а в некоторых случаях даже: `copy.copy(obj)` — и __dict__ материализуется. После этого объект теряет быстрый специализированный путь на оставшееся время жизни. На CPython 3.14.6 в тесте на M3: обычный объект → 33.0 ms после чтения __dict__ → 50.6 ms В free-threaded сборке разрыв ещё больше: 34.0 ms → 59.4 ms. Интересная деталь: __slots__ сам по себе почти не ускоряет обычный attribute access. Его преимущество здесь в другом — у объекта нет __dict__, значит его невозможно случайно материализовать и сбить оптимизацию. Очень неочевидная причина, почему vars() или copy.copy() внутри hot path могут неожиданно ударить по производительности. https://deadlovelll.github.io/2026-09-05-reading-dict-deoptimizes-attribute-access/ @Python_Community_ru
329 ·

Все сообщения за 19 сентября 2026 · Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог