Rückgabewert bei Verwendung von cProfile
Ich versuche, eine Instanzmethode zu profilieren, daher habe ich Folgendes getan:
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()
Jetzt treten jedoch Probleme auf, wenn "method" einen Wert zurückgeben soll, der von "method_actual" berechnet wird. Ich möchte "method_actual" nicht zweimal aufrufen.
Gibt es einen anderen Weg, der threadsicher sein kann? (In meiner Anwendung werden die cProfile-Daten in Datendateien gespeichert, die von einem der Argumente benannt wurden, damit sie nicht blockiert werden und ich sie später kombinieren kann.)