Dis

Теги: tests 

Модуль dis предоставляет инструменты исследования байт-кода python. Наиболее полезно это для обнаружения состояния “гонки” в многопоточных процессах.

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

Подробнее об анализе функций тут

Дизасемблирование класса приводит к поочередному дизасемблированию всех методов.

Другие варианты использования:

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

Смотри еще: