Clase decoradora para calcular el tiempo de ejecución de funciones

30 Mar

Una de las características de Python es el uso de funciones y clases decoradoras muy útiles cuando estamos evaluando rendimiento y lo que necesitamos es un cronómetro que nos mida cuánto tarda en ejecutarse una función (cualquiera de las que tenemos).

class getTime:
    def __init__(self, function):
        self.function = function
    def __call__(self, *args, **kwargs):
        start = time.time()
        result = self.function(*args,**kwargs)
        global t_time
        t_time=[self.function.__name__, time.time()-start]
        return result

Esta clase decoradora se puede utilizar de la siguiente forma en todas las funciones para las que queremos medir tiempo:

@getTime
def sendData(data):

¡Espero que os sea útil!