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

Respuestas a la pregunta(5)

Su respuesta a la pregunta