Какой самый простой способ создания контрольного потока для метода в Python? - PullRequest
13 голосов
/ 01 июня 2011

Я пишу программу, которая пытается сравнить два метода.Я хотел бы создать контрольные графы (CFG) для всех подходящих методов и использовать топологическую сортировку для сравнения двух графиков

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

RPython , набор инструментов для перевода за PyPy , предлагает способ получения потокового графика (в каталоге pypy/rpython/flowspace проекта PyPy) для вывода типа .

В большинстве случаев это работает довольно хорошо, но генераторы не поддерживаются. Результат будет в форме SSA, которая может быть хорошей или плохой, в зависимости от того, что вы хотите.

0 голосов
/ 06 июня 2012

http://pycallgraph.slowchop.com/ выглядит так, как вам нужно.

Модуль Python trace также имеет опцию --trackcalls, которая может быть точкой входа для механизма отслеживания вызовов в stdlib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...