GNU/Linux >> Tutoriales Linux >  >> Linux

Compruebe cuánto tarda en ejecutarse un script de Bash con el comando de tiempo

Este es un comando simple que mide... lo adivinaste, tiempo. Sin embargo, no es una aplicación de reloj. Mide el tiempo que se tarda en ejecutar un programa o script.

[email protected]:~$ time ./script.sh
real 0m12.010s
user 0m0.004s
sys 0m0.006s

Explicaré el comando de tiempo y su salida en un minuto.

Hay algunas versiones diferentes de la utilidad de tiempo. Aquí veremos la versión de Bash, ya que esta es la que es más probable que encuentre en su sistema. También hay una versión Zsh y una versión GNU.

Evitemos confusiones y verifiquemos su versión ahora.

[email protected]:~$ type time
time is a shell keyword

Si su salida se ve así, es perfecto. Eso significa que estás usando bash. El comando realiza la misma tarea en todas sus iteraciones, por lo que si no está utilizando bash, no tema, aún podrá comprender lo que está sucediendo. Sin embargo, puede parecer bastante diferente.

Usando el comando de tiempo

El comando de tiempo mide lo siguiente:

  • tiempo real:tiempo total transcurrido
  • usuario:procesamiento del sistema operativo en modo de usuario
  • sys:procesamiento del sistema operativo en modo kernel

Se puede usar con cualquier comando o comandos canalizados.

Tiempo con una aplicación basada en texto

Veamos un ejemplo con nano. Nano es un editor de texto basado en terminal. Si inicio nano y luego salgo rápidamente de la aplicación (Ctrl+X), el resultado se verá así:

time nano
real    0m1.465s
user    0m0.031s
sys        0m0.006s

Tiempo con una aplicación GUI

Esto también funciona con una aplicación GUI. La salida se devolverá una vez que se salga normalmente de la aplicación o si se ingresa una interrupción (CTRL+C) en el terminal.

time firefox
real    0m6.784s
user    0m4.962s
sys        0m0.459s

Versión GNU tradicional

Como mencioné antes, la mayoría de los usuarios de Linux ejecutan Bash, que esencialmente usa un atajo para crear contenido legible por humanos. Puede ejecutar la versión completa de GNU utilizando el carácter de escape \ . Esto omitirá el atajo integrado.

Esta vez solo usaré el comando de suspensión para crear un trabajo ficticio. El número es la duración en segundos. También verá esto reflejado en el tiempo real de la salida.

Tenga en cuenta que debido a que es una tarea ficticia, no hay tiempo de recursos real dedicado a ella.

[email protected]:~$ \time sleep 3
0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k
0inputs+0outputs (0major+75minor)pagefaults 0swaps

Este resultado es un poco más difícil de leer, pero también comparte información sobre el uso de RAM que puede resultarle útil.

Tiempo GNU -p =(bash) tiempo

El resultado que normalmente ve con la versión de bash es como un alias para ejecutar el tiempo de GNU con -p opción.

[email protected]:~$ \time -p sleep 3
real 3.00
user 0.00
sys 0.00

Como puede ver, esto nos da el mismo resultado que si lo hubiéramos ejecutado con el atajo de bash.

Conclusión

¿Disfrutaste nuestra guía sobre el comando del tiempo? Espero que todos estos consejos te hayan enseñado algo nuevo.

Si te gusta esta guía, compártela en las redes sociales. Si tiene algún comentario o pregunta, déjelos a continuación. Si tiene alguna sugerencia sobre temas que le gustaría ver cubiertos, no dude en dejarlos también. Gracias por leer.


Linux
  1. ¿La secuencia de comandos Bash con `set -e` no se detiene en el comando `… &&…`?

  2. ¿Cómo configurar Bash para ejecutar *.exe con Mono?

  3. En un script Bash, ¿cómo funciona el comando Continuar con bucles incrustados?

  4. Permiso denegado con bash.sh para ejecutar cron

  5. ¿Cómo ejecutar repetidamente el script bash cada N segundos?

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar un comando durante un tiempo específico en Linux

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo ejecutar un script Bash

Ejecutar comandos con límite de tiempo en Ubuntu 20.04

¿Cómo verifico la sintaxis de un script Bash sin ejecutarlo?