Comment mesurer le temps avec le temps / fois comand [duplicate]

0

J'ai un script avec un while. Sur cette base, j'aimerais mesurer le temps que prend son contenu pour s'exécuter, en millisecondes, à peu près comme ceci:

while condition;
do
    #begin measure time at begining
    instructions
    #end measure time at end
    echo "$end-$begin"
done

Je ne peux pas utiliser date +%s.%Ncar ma machine ne l’a pas, alors j’ai besoin de l’utiliser, timeou de timescomand. Une idée comment faire?

Merci

Lomezno
la source

Réponses:

0

Si vous voulez utiliser la commande time, vous pouvez exécuter la instructionspièce dans un sous-shell:

! # / bin / bash

while condition;
do
    time $(
    instruction1
    instruction2
    )
done

Il vous suffit d'analyser la sortie timeaprès. Exemple de travail:

mtak@rubiks:~$ time $(
> sleep 2
> sleep 3
> )

real    0m5,004s
user    0m0,000s
sys 0m0,000s
mtak@rubiks:~$
mtak
la source
pas sûr que cela fonctionnerait pour mon problème particulier. Mon attente est en attente de données du port série avec while read....ce que je veux savoir, le temps écoulé entre chaque donnée entrante, votre approche n'est donc pas valable dans cette affaire particulière: /
Lomezno
Je suis d'accord que ce n'est pas, c'est pourquoi il est utile de faire une bonne question ( superuser.com/help/how-to-ask )
mardi