Возвращаемое значение при использовании 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()

Но теперь возникают проблемы, когда я хочу, чтобы «method» возвращал значение, которое вычисляется «method_actual». Я действительно не хочу вызывать "method_actual" дважды.

Есть ли другой способ, который может быть потокобезопасным? (В моем приложении данные cProfile сохраняются в файлах данных, названных одним из аргументов, поэтому они не зацикливаются, и я могу объединить их позже.)