Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Python timeit(): medición de tiempo de ejecución con ejemplos prácticos

Python timeit(): medición de tiempo de ejecución con ejemplos prácticos

¿Qué es timeit() en Python?

timeit() de Python es un módulo integrado diseñado para medir el tiempo de ejecución de pequeños fragmentos de código con alta precisión. Por defecto, ejecuta la sentencia un millón de veces y reporta la ejecución más rápida, lo que ayuda a comparar el rendimiento de diferentes implementaciones.

Sintaxis

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

Parámetros

Importa el módulo primero:

import timeit

Ejemplo 1 – Medir una expresión simple

# Probar una operación aritmética básica

import timeit
print(timeit.timeit("output = 10*5"))

Salida típica:

0.06127880399999999

Esto muestra el tiempo (en segundos) tomado para la más rápida de un millón de ejecuciones.

Medición de múltiples líneas

timeit puede manejar código multi-línea separando sentencias con punto y coma o pasando una cadena entre comillas triples.

Usando punto y coma

import timeit
print("El tiempo tomado es", timeit.timeit(stmt="a=10;b=10;suma=a+b"))

Salida:

El tiempo tomado es 0.137031482

Usando comillas triples

import timeit
import_modulo = "import random"
codigo_prueba = '''
def prueba():
    return random.randint(10, 100)
'''
print(timeit.repeat(stmt=codigo_prueba, setup=import_modulo))

Salida:

C:\pythontest>python testtimeit.py
El tiempo tomado es 0.182619178

Métodos clave

Ejemplo 1 – Usando timeit.timeit()

# Probar una función que devuelve un entero aleatorio
import timeit
import_modulo = "import random"
codigo_prueba = '''
def prueba():
    return random.randint(10, 100)
'''
print(timeit.timeit(stmt=codigo_prueba, setup=import_modulo))

Salida:

0.46715912400000004

Ejemplo 2 – Usando default_timer()

# Medir una sola llamada a función
import timeit
import random

def prueba():
    return random.randint(10, 100)

tiempo_inicio = timeit.default_timer()
print("La hora de inicio es:", tiempo_inicio)
prueba()
print("La diferencia de tiempo es:", timeit.default_timer() - tiempo_inicio)

Salida:

La hora de inicio es: 0.220261875
La diferencia de tiempo es: 0.0004737320000000045

Ejemplo 3 – Usando timeit.repeat()

# Ejecutar la prueba cinco veces y capturar los mejores tiempos
import timeit
import_modulo = "import random"
codigo_prueba = '''
def prueba():
    return random.randint(10, 100)
'''
print(timeit.repeat(stmt=codigo_prueba, setup=import_modulo, repeat=5))

Salida:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

Cada entrada es el mejor tiempo para una iteración de los 1,000,000 de ejecuciones.

Uso desde línea de comandos

Puedes invocar timeit directamente desde la terminal:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [sentencia_codigo ...]

Ejemplo

C:\pythontest>python -m timeit -s 'texto="hola mundo"' 
20000000 loops, best of 5: 13.1 nsec per loop

Otra forma conveniente es llamar a timeit desde el REPL:

import timeit
print("El tiempo tomado es", timeit.timeit(stmt="a=10;b=10;suma=a+b"))

Salida:

El tiempo tomado es 0.15048536300000137

Por qué timeit() es la mejor herramienta para medir código Python

Resumen

El módulo timeit es esencial para benchmarking de fragmentos cortos de Python. Sus parámetros son directos:

Asegúrate de usar timeit para mediciones precisas y repetibles.

python

  1. Python: Obtener Hora Actual y Datos de Zona Horaria Fácilmente
  2. Dominar el Módulo time de Python: Funciones, Structs y Ejemplos Prácticos
  3. Dominar time.sleep() en Python: Mejores Prácticas, Multihilo y Ejemplos Reales
  4. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  5. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  6. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  7. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  8. Función round() en Python explicada con ejemplos prácticos
  9. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  10. Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
  11. Entendiendo type() e isinstance() en Python: ejemplos prácticos