Я пишу программу, которая пытается сравнить два метода.Я хотел бы создать контрольные графы (CFG) для всех подходящих методов и использовать топологическую сортировку для сравнения двух графиков
RPython , набор инструментов для перевода за PyPy , предлагает способ получения потокового графика (в каталоге pypy/rpython/flowspace проекта PyPy) для вывода типа .
pypy/rpython/flowspace
В большинстве случаев это работает довольно хорошо, но генераторы не поддерживаются. Результат будет в форме SSA, которая может быть хорошей или плохой, в зависимости от того, что вы хотите.
http://pycallgraph.slowchop.com/ выглядит так, как вам нужно.
Модуль Python trace также имеет опцию --trackcalls, которая может быть точкой входа для механизма отслеживания вызовов в stdlib.
--trackcalls