Профилирующие генераторы Python

Я адаптирую приложение, которое интенсивно использует генераторы для получения своих результатов, чтобы обеспечить веб-интерфейс web.py.

До сих пор я мог обернуть вызов для цикла for и операторов, производящих вывод, в функцию и вызвать ее, используяcProfile.run() или жеrunctx(), Концептуально:

def output():
    for value in generator():
        print(value)

cProfile.run('output()')

В web.py мне нужно обернуть его следующим образом, так как я хочу немедленно выводить результаты потенциально длительных вычислений на каждом шаге итерации, используяyield:

class index:
    def GET(self):
        for value in generator():
            yield make_pretty_html(value)

Есть ли способ профилировать все вызовы к генератору, как в первом примере, когда он используется, как во втором?

Ответы на вопрос(3)

Ваш ответ на вопрос