bash - read - / usr/bin/time-formato de tiempo transcurrido de salida en milisegundos
bash read variable (2)
Uso el programa / usr / bin / time para medir el tiempo de un comando. con el parámetro --formato puedo formatear la salida. p.ej
/usr/bin/time -f "%e" ls
¿Hay una manera de dar una mayor precisión de los segundos transcurridos? ¿O solo sale milisegundos, no segundos?
En el manual de / usr / bin / time solo dice algo sobre segundos, pero tal vez haya una manera y alguien pueda ayudarme ... ¡gracias!
EDITAR : Conozco el comando "tiempo" de bash que utiliza el formato de la variable de entorno "TIMEFORMAT". lo siento, pero no quiero cambiar esa env-var ... parece ser un riesgo para mí, la solución debería ser algo que no cambie el sistema en absoluto :)
Para mayor comodidad, hice la respuesta de devnull en un script (lo llamé milisegundos).
#!/bin/bash
ts=$(date +%s%N) ; $@ ; tt=$((($(date +%s%N) - $ts)/1000000)) ; echo "Time taken: $tt milliseconds"
Puse el script en /usr/local/bin
.
Le dio los derechos de ejecución chmod +x /usr/local/bin/millisecond-time
.
Ahora puedo usarlo de esta manera: millisecond-time my_command
Ps Esto sería un comentario si tuviera el representante ''.
Una posibilidad es usar el comando de date
:
ts=$(date +%s%N) ; my_command ; tt=$((($(date +%s%N) - $ts)/1000000)) ; echo "Time taken: $tt milliseconds"
%N
debería devolver nanosegundos , y 1 milisegundo es 1000000 nanosegundos, por lo tanto, por división devolvería el tiempo necesario para ejecutar my_command
en milisegundos.
Tenga en cuenta que el %N
no es compatible con todos los sistemas, pero la mayoría de ellos.