En la administración de sistemas y el desarrollo de software, a menudo se necesita medir el tiempo para evaluar el rendimiento de una tarea o un programa. Aunque el tiempo se mide en segundos, puede ser difícil de interpretar si el valor es muy grande. Para facilitar su lectura, es útil convertir los segundos a un formato más convencional, como hora:minuto:segundo (HH:MM:SS).
Aquí hay cinco razones por las que sería una buena idea medir el tiempo de los scripts:
- Optimización del rendimiento: Al medir el tiempo de ejecución de los scripts, puedes identificar los cuellos de botella y áreas de mejora en tu código. Esto te permite optimizar el rendimiento y reducir el tiempo de ejecución, lo que es especialmente importante en aplicaciones de tiempo crítico o de alto rendimiento.
- Comparación de soluciones: A menudo, hay varias formas de abordar un problema en la programación. Al medir el tiempo de ejecución de diferentes soluciones, puedes comparar su eficiencia y elegir la mejor opción en términos de velocidad y rendimiento.
- Monitoreo del rendimiento a lo largo del tiempo: Medir el tiempo de ejecución de los scripts de manera regular te permite llevar un registro del rendimiento a lo largo del tiempo. Esto puede ser útil para detectar degradaciones en el rendimiento a medida que se introducen cambios en el código o en el entorno de ejecución, permitiendo así solucionar problemas antes de que se vuelvan críticos.
- Establecer expectativas realistas: Al conocer el tiempo de ejecución de tus scripts, puedes establecer expectativas realistas para los usuarios finales y otros miembros del equipo en cuanto a cuánto tiempo tomará completar ciertas tareas. Esto también puede ayudar en la planificación de recursos y en la evaluación de la viabilidad de ciertas características o soluciones.
- Identificación de problemas de escalabilidad: Cuando un script se ejecuta con diferentes tamaños de entrada o en diferentes entornos o simplemente la carga de trabajo aumento con el tiempo, el tiempo de ejecución puede variar significativamente. Medir el tiempo de ejecución en estas situaciones te ayuda a identificar problemas de escalabilidad y a tomar decisiones informadas sobre cómo manejar la carga de trabajo y la distribución de recursos en función de la demanda y el rendimiento esperados.
Para calcular el tiempo de ejecución de un script Bash, puedes usar el comando time antes de ejecutar el script. Este comando mostrará el tiempo real, el tiempo de usuario y el tiempo del sistema empleado en la ejecución.
1 2 3 4 5 |
time ./ejecutime.sh real 6m18.009s user 0m0.005s sys 0m0.003s |
O ejecutar el siguiente SCRIPT :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/bash hora_ini=`date +"%T"` ## Aquí ejecutas el script que deseas calcular el tiempo de ejecución sleep 378 ## Lo mismo lo puedes hacer lanzado un script..... hora_fin=`date +"%T"` segu_ini=$(date -d "$hora_ini" +%s) segu_fin=$(date -d "$hora_fin" +%s) hora_dif=$((segu_fin - segu_ini)) hora_tra=$(date -d @$hora_dif -u +%H:%M:%S) hora_num=$((hora_dif/3600)) minu_num=$(((hora_dif % 3600)/60)) segu_num=$((hora_dif % 60)) echo "HORA INICIO : $hora_ini" echo "HORA TERMINO : $hora_fin" echo "TIEMPO EJECUCION : $hora_tra" echo "" echo "EL PROCESO DEMORO $hora_num HRS CON $minu_num MINS Y $segu_num SEGS EN EJECUTARSE." exit |
Al ejecutarlo, mostraría el siguiente resultado :
1 2 3 4 5 |
HORA INICIO : 20:40:32 HORA TERMINO : 20:46:50 TIEMPO EJECUCION : 00:06:18 EL PROCESO DEMORO 0 HRS CON 6 MINS Y 18 SEGS EN EJECUTARSE. |