Память Python: задачи на tracemalloc, утечки и __slots__
Рост памяти бывает связан с объектами, которые всё ещё нужны программе, и с буфером, который давно пора освободить. В задачах вы сгруппируете выделения по стеку и найдёте контейнер, удерживающий объекты. Вторая часть посвящена slots: проверьте, как наследование возвращает словарь экземпляра и как исследовать всю иерархию класса. Вопросы перед кодом помогают связать устройство объекта с практической экономией памяти.
Как заниматься
5 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- slots в Python: за счёт чего экономится память
slots в Python: за счёт чего экономится память. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Наследование и slots в Python: почему возвращается dict
Наследование и slots в Python: почему возвращается dict. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Tracemalloc Python: группировка выделений памяти по стеку вызовов
Tracemalloc Python: группировка выделений памяти по стеку вызовов. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Утечка памяти Python: найдите буфер, удерживающий объекты
Утечка памяти Python: найдите буфер, удерживающий объекты. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - slots в Python: проверка полей и всей иерархии наследования
slots в Python: проверка полей и всей иерархии наследования. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
