Zwraca wartość podczas używania cProfile
Próbuję profilować metodę instancji, więc zrobiłem coś takiego:
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()
Ale teraz pojawiają się problemy, gdy chcę, aby „metoda” zwróciła wartość obliczoną przez „method_actual”. Naprawdę nie chcę dwukrotnie wywoływać metody „method_actual”.
Czy jest inny sposób, coś, co może być bezpieczne dla wątków? (W mojej aplikacji, dane cProfile są zapisywane w plikach danych nazwanych przez jeden z argumentów, więc nie są one obijane i mogę je połączyć później).