Ich versuche, eine Instanzmethode zum Profil, also habe ich etwas getan, wie:Rückgabewert bei der Verwendung von 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()
Aber jetzt Probleme entstehen, wenn ich „Methode“ soll einen Wert zurückgeben, der berechnet wird, durch "method_actual". Ich möchte "method_actual" nicht wirklich zweimal aufrufen.
Gibt es einen anderen Weg, etwas, das threadsicher sein kann? (In meiner Anwendung werden die cProfile Daten auf Datendateien von einem der args Namen gespeichert, so dass sie nicht bekommen, clobbered und ich kann sie später kombinieren.)
Brilliant! Das sieht perfekt aus - aber was ist Datafn? –
@ JonathanHartley - Der Dateiname für die Datei IIRC. – detly
Ah, danke. Ich dachte 'Fn' meinte Funktion, nicht Dateiname. –