Возвращаемое значение при использовании cProfile
Я пытаюсь профилировать метод экземпляра, поэтому я сделал что-то вроде:
import cProfile
class Test():
def __init__(self):
pass
def method(self):
cProfile.runctx("self.method_actual()", globals(), locals())
def method_actual(self):
print "Run"
if __name__ == "__main__":
Test().method()
Но теперь возникают проблемы, когда я хочу, чтобы «method» возвращал значение, которое вычисляется «method_actual». Я действительно не хочу вызывать "method_actual" дважды.
Есть ли другой способ, который может быть потокобезопасным? (В моем приложении данные cProfile сохраняются в файлах данных, названных одним из аргументов, поэтому они не зацикливаются, и я могу объединить их позже.)