martes, 9 de septiembre de 2008

Medir el tiempo de cada funcion en python

Cuando vamos a optimizar código lo primero en lo que pensamos es en medir el tiempo que tarda cada función de nuestro programa para ver donde se puede mejorar más (Ley de Amdahl).

En python el módulo timeit nos facilita mucho esta tarea, se puede usar de la siguiente manera.

import timeit
t = timeit.Timer("funcion()", "from __main__ import funcion")
t.timeit()


t.timeit() ejecuta múltiples veces la función y devuelve el tiempo transcurrido, si se le pasa un parámetro ejecutará la función ese número de veces.

También se puede ejecutar varias veces el test anterior para asegurarnos que no influye ningún otro proceso en la medida del tiempo, para ello se puede ejecutar t.repeat(numero_de_veces) y devolverá un array con los tiempos transcurridos.

0 comentarios: