Python Timeit() con ejemplos
¿Qué es Python Timeit()?
Python timeit() es un método en la biblioteca de Python para medir el tiempo de ejecución tomado por el fragmento de código dado. La biblioteca de Python ejecuta la declaración de código 1 millón de veces y proporciona el tiempo mínimo necesario para el conjunto dado de fragmentos de código. Python timeit() es un método útil que ayuda a comprobar el rendimiento del código.
Sintaxis:
timeit.timeit(stmt, setup,timer, number)
Parámetros
- sentencia :Esto tomará el código para el que desea medir el tiempo de ejecución. El valor predeterminado es "aprobado".
- configuración :Esto tendrá detalles de configuración que deben ejecutarse antes de stmt. El valor predeterminado es "aprobado".
- temporizador :Esto tendrá el valor del temporizador, timeit() ya tiene un valor predeterminado establecido y podemos ignorarlo.
- número :La instrucción se ejecutará según el número que se proporciona aquí. El valor predeterminado es 1000000.
Para trabajar con timeit(), necesitamos importar el módulo, como se muestra a continuación:
import timeit
Primer ejemplo
Aquí hay un ejemplo simple de la función timeit()
Ejemplo de código 1:
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Salida:
0.06127880399999999
Hemos visto un ejemplo simple que nos da el tiempo de ejecución de la salida de declaración de código simple =10*5, y el tiempo que se tarda en ejecutarlo es 0.06127880399999999.
Tiempo Múltiples líneas en código python
Hay dos que puede ejecutar varias líneas de código en timeit.timeit(), usando un punto y coma o guardando el código encerrado como una cadena entre comillas triples.
Aquí hay ejemplos que muestran cómo funciona.
Ejemplo 1:Uso de punto y coma
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Salida:
The time taken is 0.137031482
Ejemplo 2:Uso de comillas triples
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Salida:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Métodos:
Aquí hay 2 métodos importantes de timeit
timeit.default_timer() :Esto devolverá la hora predeterminada cuando se ejecute.
timeit.repeat(stmt, setup, timer, repeat, number) :igual que timeit() , pero con repetición, timeit() se llama el número de veces que se repite.
Ejemplo de programa 1:
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Salida:
0.46715912400000004
Ejemplo 2:
default_timer() Ejemplo
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Salida:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Ejemplo 3:timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Salida:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() funciona de manera 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 de matriz con valores según el número de repetición.
Ejecutando 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 comando es la siguiente:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Parámetros de la línea de comandos:
- -n N:el número de veces que desea que se ejecute el código.
- -r N:el número de veces que desea que se repita la función timeit()
- -s S:esto tendrá detalles de configuración que se ejecutarán antes de la ejecución del código.
- -t:para esto, puedes usar time.time()
- -c:para esto, puedes usar time.clock()
- -h:para obtener ayuda
- instrucción de código:los detalles del código.
Ejemplo:
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Otra forma de ejecutar dentro de la línea de comando es como se muestra a continuación:
Ejemplo:
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
¿Por qué timeit() es la mejor manera de medir el tiempo de ejecución del código de Python?
Aquí hay algunas razones por las que consideramos que timeit() es la mejor manera de medir el tiempo de ejecución.
- Ejecuta la instrucción de código 1 millón de veces, que es el valor predeterminado, y a partir de ahí, le devolverá el tiempo mínimo necesario. También puede aumentar/disminuir 1 millón configurando el número de argumento en la función de tiempo ().
- Mientras se ejecuta la prueba, la recolección de basura se deshabilita cada vez por la función time().
- 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 código pequeño proporcionado
Parámetros usados 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 deben ejecutarse antes de stmt
- temporizador:tendrá el valor del temporizador, timeit() ya tiene un valor predeterminado establecido y podemos ignorarlo.
- número:la sentencia se ejecutará según el número que se proporciona aquí.
python
- Python Obtener la hora actual
- Módulo de tiempo de Python
- Sueño de Python ()
- Python String count () con EJEMPLOS
- Python String format() Explicar con EJEMPLOS
- Método Python String find() con ejemplos
- Funciones Python Lambda con EJEMPLOS
- Función Python round() con EJEMPLOS
- Función Python map() con EJEMPLOS
- Contador de Python en colecciones con ejemplo
- type() y isinstance() en Python con ejemplos