Веб-версияОткрыть в Telegram

Пост‍🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретного объекта.

19 сентября 2026
P
Python Community
Ссылка
нажмите — покажем
‍🐍 В 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
2 · 596 ·

Рядом в ленте

PPython Community‍🔥 Package Doctor - необычный security-сканер для Python-зависимостей Он отвечает не только на вопрос «есть ли у пакета CVE?», а на более практичный: если завтрPPython Community🔥 Qwen представила Qwen3.8-Omni-Flash - свою первую мультимодальную модель, изначально заточенную под агентные задачи. Она одновременно работает с видео и аудио
это сообщение
PPython Community‍🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции Автор статьи столкнулся с этим в проекте, который писал ИИ-агент. Вместо поиска PPython Community⚡ Qwen представила Audio 3.1 - единый стек для ASR, TTS и realtime-аудио. Главное: * ASR лучше распознаёт языки и диалекты, убирает повторы и слова-паразиты. *

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

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