Профилирование Python: задачи на cProfile, pstats и байт-код dis
Прежде чем ускорять функцию, нужно понять, где уходит время. Здесь есть вопрос о tottime и cumtime и задача на поиск доминирующей операции по данным профиля. Два других упражнения учат исследовать инструкции через dis: найти возвраты и повторяющиеся LOAD_GLOBAL. Это небольшая подборка для тех, кто уже пишет Python-код и хочет разбирать его выполнение по конкретным данным, а не по догадкам.
Как заниматься
4 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- CProfile Python: разница между tottime и cumtime в отчёте
CProfile Python: разница между tottime и cumtime в отчёте. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - CProfile и pstats: найдите доминирующую операцию в профиле Python
CProfile и pstats: найдите доминирующую операцию в профиле Python. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Модуль dis Python: найдите инструкции возврата в байт-коде
Модуль dis Python: найдите инструкции возврата в байт-коде. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Модуль dis Python: аудит повторяющихся инструкций LOADGLOBAL
Модуль dis Python: аудит повторяющихся инструкций LOADGLOBAL. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
