Saltar al contenido

Python Timeit() con ejemplos

diciembre 8, 2019

timeit() está disponible con la librería python timeit. Se utiliza para obtener el tiempo de ejecución del pequeño código dado. La biblioteca ejecuta la sentencia de código 1 millón de veces y proporciona el tiempo mínimo del conjunto. Es un método útil que ayuda a comprobar el rendimiento del código.

Sintaxis:

timeit.timeit(stmt, setup,timer, number)
>

Parámetros

  • stmt : Esto tomará el código para el cual desea medir el tiempo de ejecución. El valor por defecto es «pass».
  • setup : Tendrá detalles de configuración que deben ejecutarse antes de stmt. El valor por defecto es «pass».
  • timer : Tendrá el valor del timer, timeit() ya tiene un valor por defecto, y podemos ignorarlo.
  • number : El stmt se ejecutará según el número que se indica aquí. El valor por defecto es 100000000.

Para trabajar con timeit(), necesitamos importar el módulo, como se muestra a continuación:

importar tiempo

>

Primer ejemplo

Aquí hay un ejemplo simple de la función timeit()

Código Ejemplo 1:

Tiempo de prueba:

#
tiempo de importación
print(timeit.timeit($0027output = 10*5$0027))

>

Salida:

0.061278803999999999999
>

Hemos visto un ejemplo sencillo que nos da el tiempo de ejecución de la sentencia de salida de código simple = 10*5, y el tiempo que se tarda en ejecutarla es de 0.0612788039999999999.

Tiempo Múltiples líneas en código python

Hay dos, puede ejecutar múltiples líneas de código en timeit.timeit(), usando un punto y coma o guardando el código incluido como una cadena con comillas triples.

Aquí hay ejemplos que muestran el funcionamiento de la misma.

Ejemplo 1: Uso de punto y coma

importar tiempo
print("El tiempo necesario es ",timeit.timeit(stmt=$0027a=10;b=10;sum=a+b$0027)))

>

Salida:

>

Ejemplo 2: Uso de comillas triples

importar tiempo
import_module = "importar aleatoriamente"
código de prueba = $0027$0027$0027$0027.
def test():
    devolver random.randint(10, 100)
$0027$0027$0027
print(timeit.repeat(stmt=testcode, setup=import_module))

>

Salida:

>

timeit – Métodos:

Aquí hay 2 métodos importantes de timeit

timeit.default_timer() : Esto devolverá la hora por defecto cuando se ejecute.

timeit.repeat(stmt, setup, timer, repeat, number) : igual que timeit() , pero con repeat el timeit() se denomina el número de veces que se repite.

Ejemplo de programa 1:

Tiempo de prueba:

#
tiempo de importación
import_module = "importar aleatoriamente"
código de prueba = $0027$0027$0027$0027.
def test():
    devolver random.randint(10, 100)
$0027$0027$0027
print(timeit.timeit(stmt=testcode, setup=import_module))

>

Salida:

0.4671591240000000004
>

Ejemplo 2:

default_timer() Ejemplo

Tiempo de prueba:

#
tiempo de importación
importar al azar
def test():
    devolver random.randint(10, 100)
hora de inicio = timeit.default_timer()
print("La hora de inicio es :", hora de inicio)
test()
print("La diferencia horaria es :", timeit.default_timer() - starttime)

>

Salida:

La hora de inicio es

La hora de inicio es 
La hora de inicio es 
La hora de inicio es 
La hora de inicio es 
La hora de inicio es 
La hora de inicio es >

Ejemplo 3: timeit.repeat()

Tiempo de prueba:
#
tiempo de importación
import_module = "importar aleatoriamente"
código de prueba = $0027$0027$0027$0027.
def test():
    devolver random.randint(10, 100)
$0027$0027$0027
print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5)))

>

Salida:

>

timeit.repeat() funciona de forma similar a la función timeit.timeit(), con la única diferencia de que toma el argumento de repetición y devuelve el tiempo de ejecución en formato array con valores según el número de repetición.

Ejecución de la función de temporización timeit.timeit() dentro de la interfaz de línea de comandos

La sintaxis para ejecutar su función dentro de timeit() en la línea de comandos es la siguiente:

python -m timeit[-n N][-r N][-s S][-t][-c][-h][-h][code statement ....]
>

Parámetros de línea de comandos:

  • -n N: el número de veces que quieres que el código se ejecute.
  • -r N: el número de veces que desea que la función timeit() se repita
  • -S: tendrá detalles de configuración que se ejecutarán antes de la ejecución del código.
  • -t: para esto, puede hacer uso de time.time()
  • -c: para ello, puede usar time.clock()
  • -h: para ayuda
  • declaración del código: Los detalles del código.

Ejemplo:

>

Otra forma de ejecutar dentro de la línea de comandos es como se muestra a continuación:

Ejemplo :

>

¿Por qué timeit() es la mejor manera de medir el tiempo de ejecución del código Python?

He aquí algunas razones por las que consideramos que timeit() es la mejor manera de medir el tiempo de ejecución.

  • Ejecuta la sentencia de código 1 millón de veces que es el valor por defecto, y a partir de ahí, le devolverá el tiempo mínimo necesario. También puede aumentar/disminuir el millón estableciendo el número de argumento en la función de tiempo ().
  • Durante la ejecución de la prueba, la recogida de basuras se desactiva cada vez que se ejecuta la función ().
  • timeit() internamente toma la hora exacta según el sistema operativo que se esté utilizando. Por ejemplo, usará time.clock() para el sistema operativo Windows y time.time() para mac y Linux.

Resumen

Timeit()se usa para obtener el tiempo de ejecución del pequeño código dado

Parámetros utilizados con timeit()

  • stmt: Esto tomará el código que desea medir el tiempo de ejecución
  • configuración: Esto tendrá detalles de configuración que necesitan ser ejecutados antes de stmt
  • timer: Tendrá el valor del timer, timeit() ya tiene un valor por defecto, y podemos ignorarlo.
  • número: El stmt se ejecutará según el número que se indica aquí.