Calcular tiempo de ejecución de un comando en Bash Shell

El otro día estaba interesado en calcular el tiempo que tardaba en ejecutarse un comando, y esta es la forma que encontré de hacerlo:

#!/bin/bash
inicio_ns=`date +%s%N`
inicio=`date +%s`
sleep 5 # el comando
fin_ns=`date +%s%N`
fin=`date +%s`
let total_ns=$fin_ns-$inicio_ns
let total=$fin-$inicio
echo "ha tardado: -$total_ns- nanosegudos, -$total- segundos"

Como se puede comprobar, incluso se llega a tener una precisión de nanosegundos.

Fuente

You may also like

8 comments

  • G Riera 09/05/2008   Reply →

    Muchas gracias por esta secuencia. Hace dias que buscaba algo similar. Saludos GR

  • pacovi 17/11/2008   Reply →

    ey muchas gracias, me está siendo de bastante ayuda.

  • Enrique Gómez 17/11/2008   Reply →

    Me alegro que os sea de ayuda 😉

  • memmaker650 23/08/2009   Reply →

    Muchas gracias por tu código. Sigue así.

  • fitorec 15/10/2010   Reply →

    Me quedan mis dudas respecto al uso, creo entender el código, la pregunta por que no usar el comando time?

    time comando

    • Enrique Gómez 15/10/2010   Reply →

      El comando time es fantástico para calcular el tiempo, pero no da tanta precisión como los comandos que he indicado. Además, con el time lo veo más difícil para usarlo en scripts…

  • mauroxan 01/10/2011   Reply →

    Gracias, viejo, me funciono muy bien en mi Mac OS X Lion, 🙂 Mauroxan

Leave a comment