Devuelva el valor mientras usa cProfile
Estoy tratando de perfilar un método de instancia, así que he hecho algo como:
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()
Pero ahora surgen problemas cuando quiero que "método" devuelva un valor que se calcula con "método_actual". Realmente no quiero llamar "method_actual" dos veces.
¿Hay otra manera, algo que puede ser seguro para subprocesos? (En mi aplicación, los datos de cProfile se guardan en archivos de datos nombrados por uno de los argumentos, por lo que no se anulan y puedo combinarlos más adelante).