Cronometrar tiempo de ejecución procesos en Linux

Para aquellos que lleváis un tiempo leyéndome en este blog habréis comprobado que últimamente me ha dado por la optimización de tareas en Linux y para ello no hay nada mejor que contar con una forma fiable de medir los tiempos que se invierten.


De esta forma podremos hablar de un modo objetivo y tomar decisiones más acertadas.


En esta ocasión quiero ofreceros una herramienta, que viene de serie con la mayoría de distribuciones Linux y que os va permitir evaluar la velocidad con la que se ejecuta cualquier comando que lancemos desde la terminal.



Dicha “herramienta” no es más que el comando time, una de las grandes olvidadas y que nos puede dar grandes satisfacciones en lo que a evaluación del rendimientose refiere.


Su manejo es muy sencillo: basta ponerlo delante del comando a ejecutar.



Veamos un par de ejemplos

Medir tiempo invertido en copiar un archivo

Imaginemos que queremos copiar un archivo de un directorio a otro; desde la terminal esto se consigue con una instrucción del tipo

$ cp ~/downloads/ubuntu804.iso /tmp


En el que estamos copiando el archivo ubuntu804.iso (ubicado en la carpeta downloads de nuestro directorio de usuario) al directorio /tmp


Para medir cuánto tarda en copiarse los cerca de 700 MBs del live-cd de ubuntusólo tenemos que poner delante de la instrucción anterior el comando time

$ time cp ~/downloads/ubuntu804.iso /tmp


Cronometrar descarga de un archivo de Internet


Si para descargar un fichero de Internet usamos el comando wget del siguiente modo

$ wget https://help.ubuntu.com/pdf/ubuntu/C/desktopguide.pdf


para saber cuánto tarda bastará con anteponer time a la instrucción anterior

$ time wget https://help.ubuntu.com/pdf/ubuntu/C/desktopguide.pdf


Conclusión

Con el segundo ejemplo imagino que habrá quedado suficientemente claro cómo utilizar el comando time pues es realmente sencillo ¿no?

Aplicaciones de dicho comando tantas como podáis imaginar pero os incluyo algunas ideas extra

  • medir la velocidad de la conexión a Internet

  • calcular la velocidad de transferencia de determinado dispositivo dealmacenamiento externo

  • conocer cuánto tardó en grabarse el dvd que dejamos tostándose al salir de casa

  • etc…

Entrada Copy/Paste de: Informático de Guardia