Próbuję profil metodę instancji, więc zrobiłem coś takiego:Zwracana wartość podczas korzystania 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()
ale teraz pojawiają się problemy, gdy chcę „metoda”, aby powrócić do wartości, która jest obliczana przez "method_actual". Naprawdę nie chcę wywoływać "method_actual" dwukrotnie.
Czy istnieje inny sposób, który może być bezpieczny dla wątków? (W mojej aplikacji, dane cProfile są zapisywane pliki danych nazwanych przez jednego z argumentami, żeby nie dostać niszczona i mogę połączyć je później).
Genialny! To wygląda idealnie - ale czym jest "datafn"? –
@ JonathanHartley - Nazwa pliku IIRC pliku danych. – detly
Ah, dzięki. Myślałem, że "fn" oznacza funkcję, a nie nazwę pliku. –