Medir Tiempo de Ejecución en Python

Supongamos ahora que hemos estado trabajando en un algoritmo en Python y que una vez implementado, queremos conocer el tiempo que tarda en ejecutarse, sino es todo el programa, tal vez tenemos puntos críticos donde queremos conocer dichos tiempos para luego tomar decisiones, por ejemplo si la aplicación es sensible a mantener periodos de muestro rigurosos cuando trabajamos en procesamiento digital de señales.

python-logo-transparente

Python como siempre, nos permite hacer las cosas de la forma más sencilla posible, en esta oportunidad utilizaremos la función time() del módulo estándar que lleva el mismo nombre (el módulo time), esta función nos retorna un valor de tipo flotante con el tiempo que lleva ejecutándose nuestra máquina. El truco es entonces capturar un valor de tiempo inicial, justo cuando se iniciará la ejecución del código que queremos evaluar y luego capturar el tiempo inmediatamente después de la ejecución, en este punto realizamos una resta del tiempo_final – tiempo_inicial y obtendremos el tiempo en segundos que se demoró el código en ejecutarse.

EJEMPLO: Supongamos que quiero ver cuanto tarda mi máquina en realizar calcular el valor de la función seno(x) para 100 valores, para eso he realizado este script de ejemplo y al final imprimimos dicho tiempo de ejecución en segundos.


from math import sin #para usar la función seno

from time import time #importamos la función time para capturar tiempos

x = list(range(0,100)) #vector de valores desde 0 a 99
y = [0.0 for i in range(len(x))] #inicializamos el vector de resultados con 100 valores 0.0

tiempo_inicial = time() 

for i in range(100):

    y[i] = sin(x[i])

tiempo_final = time() 

tiempo_ejecucion = tiempo_final - tiempo_inicial

print 'El tiempo de ejecucion fue:',tiempo_ejecucion #En segundos

Ahora, en la siguiente imagen podemos observar que al ejecutar dicho script se imprime en pantalla el tiempo en segundos, que mi caso fue de 0.0010001659 segundos o fueron 1.00016 mili-segundos, esto para realizar el cálculo de 100 funciones seno(x).

ejecucion

Tiempo de ejecución en mi máquina para el cálculo del ejemplo.

Así de simple, espero que les haya resultado útil este corto artículo, si creen que puede ser útil para alguien más, ¡ayúdanos a compartirlo!.


Autor: Julio César Echeverri Marulanda.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s