Je suis en train de profiler une méthode d'instance, donc je l'ai fait quelque chose comme:Valeur de retour lors de l'utilisation 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()
Mais maintenant problèmes surgissent quand je veux « méthode » pour renvoyer une valeur qui est calculée par "method_actual". Je ne veux pas vraiment appeler "method_actual" deux fois.
Y a-t-il un autre moyen, quelque chose qui peut être sûr pour les threads? (Dans ma demande, les données cprofile sont enregistrées dans les fichiers de données nommés par l'un des args, de sorte qu'ils ne reçoivent pas matraquée et je peux les combiner plus tard.)
Brillant! Cela semble parfait - mais qu'est-ce que 'datafn'? –
@JonathanHartley - Le nom du fichier de données IIRC. – detly
Ah, merci. Je pensais que 'fn' signifiait fonction, pas nom de fichier. –