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.)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage