⏱️ Execution Time Analysis
Este proyecto está diseñado para analizar los tiempos de ejecución de comandos o programas en sistemas Unix, calculando estadísticas clave como el promedio y la desviación estándar del tiempo real, usuario y del sistema.
🔍 Descripción del proyecto
El programa utiliza una combinación de Bash y AWK para recopilar datos sobre el tiempo de ejecución de un comando durante múltiples iteraciones. Estos tiempos se analizan para proporcionar información detallada sobre:
- Tiempo real: El tiempo total que tomó la ejecución.
- Tiempo de usuario: El tiempo que el procesador dedicó a ejecutar instrucciones de usuario.
- Tiempo del sistema: El tiempo dedicado por el kernel del sistema operativo.
🛠️ Cómo funciona
- Recolectar datos:
Un script en Bash ejecuta el comando proporcionado 10 veces usando
/usr/bin/time
, y guarda los resultados en un archivo temporal llamado/tmp/exetime
. - Procesamiento de datos:
Un script en AWK (
calc.awk
) lee el archivo de resultados y calcula:- Promedio del tiempo real, usuario y del sistema.
- Desviación estándar de cada tiempo.
- Imprimir estadísticas: Los resultados se imprimen en un formato legible con información sobre los tiempos y sus estadísticas.
📋 Resultados esperados
Al ejecutar el programa, se obtiene un desglose detallado de cada iteración del comando, junto con el promedio y la desviación estándar de los tiempos de ejecución:
Data:-------------------------real user sys2.3 1.2 0.42.5 1.3 0.5-------------------------Average:real 2.4user 1.25sys 0.45Standard deviation:real 0.1user 0.05sys 0.05
bash
⚙️ Requisitos
-
Instalar el comando
time
:
Para sistemas Debian/Ubuntu:sudo apt-get install time
- Un entorno Unix compatible con Bash y AWK.
🚀 Cómo ejecutar
-
Guarda el archivo de AWK (
calc.awk
) en tu sistema. -
Ejecuta el script Bash con el comando que deseas analizar:
bash speedtest.sh [comando]bash
-
Revisa las estadísticas calculadas por AWK:
awk -f calc.awk /tmp/exetimebash