Time avec paramètres : marche pas.
Par RaphAstronome le jeudi, 31 janvier 2008, 21:54 - Linux - Lien permanent
Pour voir la durée d'exécution d'un programme de manière un peu plus précise et simple qu'avec un chronomètre il y a la commande time. De plus le temps CPU dédié au processus (user) et système (sys) est affiché :
$ time sleep 10 real 0m10.023s user 0m0.004s sys 0m0.000s
Ici l'instruction "sleep 10", attend 10 secondes et ne consomme presque pas de CPU.
On va mettre en forme tout ça pour par exemple l'utiliser dans un script pour ça il y a l'option --format, qui peut éventuellement être réduit à -f mais ici :
$ time -f "%e" sleep 10 bash: -f : commande introuvable real 0m0.157s user 0m0.116s sys 0m0.028s
Baf ! Marche pas il à essayé d'exécuter la commande "-f" au lieu de sleep.
Ce problème est bizarre mais quelques part il fallait s'y attendre : mais comment bash et time peut deviner où est la commande et où sont les paramètres ? En fait la solution est elle aussi bizarre car on peut résoudre le problème en mettant le chemin complet de la commande time :
$ /usr/bin/time -f "%e" sleep 10 10.00
Ca marche ! Le temps d'exécution de la commande sleep est bien de 10 secondes.
Si quelqu'un sait pourquoi il y a un tel changement qu'il me le dise, merci.
Commentaires