Afficher temps execution programme en ksh
ferrari75k
Messages postés
13
Statut
Membre
-
ferrari75k -
ferrari75k -
Bonjour,
J'aimerais savoir comment on peut calculer le temps d'execution d'une partie d'un programme KSH. Je sais qu'en executant la commande :
time ./programme
on affiche le temps d'execution du programme, mais comment on peux faire pour définir dans le programme KSH le début et la fin d'une partie du traitement du programme et non pas tout le programme?
Merci
J'aimerais savoir comment on peut calculer le temps d'execution d'une partie d'un programme KSH. Je sais qu'en executant la commande :
time ./programme
on affiche le temps d'execution du programme, mais comment on peux faire pour définir dans le programme KSH le début et la fin d'une partie du traitement du programme et non pas tout le programme?
Merci
A voir également:
- Afficher temps execution programme en ksh
- Renommer plusieurs fichiers en même temps - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Excel trier plusieurs colonnes en même temps - Guide
- Maps satellite en temps réel - Guide
6 réponses
Salut,
A ce moment là, lance la commande "time" avant chaque commande et dirige la sortie vers un fichier d'où tu n'auras plus qu'à extraire et additionner les temps d'exécution, un truc du genre :
Petit exemple :
Je lance successivement 2 fois la commande suivante :
A ce moment là, lance la commande "time" avant chaque commande et dirige la sortie vers un fichier d'où tu n'auras plus qu'à extraire et additionner les temps d'exécution, un truc du genre :
time -a -o mon_fich -f %e commande1 time -a -o mon_fich -f %e commande2 time -a -o mon_fich -f %e commande3après il te reste plus qu'à filtrer le résultat, le mettre en forme pour pouvoir l'additionner (avec "sed" par exemple) et passer le tout à la commande "bc".
Petit exemple :
Je lance successivement 2 fois la commande suivante :
time -a -o mon_fich -f %e ls -lR /homepuis la commande :
time -a -o mon_fich -f %e echo "bonjour"Ce qui me donne comme résultat dans le fichier "mon_fich" :
[tmpfs]$ cat mon_fich Command exited with non-zero status 1 2.43 Command exited with non-zero status 1 2.12 0.02Puis on filtre et on formate le tout avant de le passer à "bc" :
[tmpfs]$ echo "$(sed -n '/^[0-9.]*$/p' mon_fich | sed ':l;N;s/\n/ + /;bl')" | bc 4.57;-))
Bonjour,
Personnellement j'insérerai la commande date avec une redirection de celle-ci dans un journal pour chaque point de contrôle que tu veux.
ex: (echo `date` >> cumul_temps.txt)
T'auras qu'a faire la différence des temps que t'auras obtenu.
C'est pas élégant, mais c'est le résultat qui compte. ;-)
A+
Personnellement j'insérerai la commande date avec une redirection de celle-ci dans un journal pour chaque point de contrôle que tu veux.
ex: (echo `date` >> cumul_temps.txt)
T'auras qu'a faire la différence des temps que t'auras obtenu.
C'est pas élégant, mais c'est le résultat qui compte. ;-)
A+
Bonjour,
Merci pour ta réponse, en résultat j'aurais ça :
Thu Oct 25 09:39:15 DFT 2007
Thu Oct 25 09:39:15 DFT 2007
Est ce qui'il n'y a pas d'autre commande qui me permet d'affichir en milliseconde, parceque la on voit pas le temps d'execution
Merci
Merci pour ta réponse, en résultat j'aurais ça :
Thu Oct 25 09:39:15 DFT 2007
Thu Oct 25 09:39:15 DFT 2007
Est ce qui'il n'y a pas d'autre commande qui me permet d'affichir en milliseconde, parceque la on voit pas le temps d'execution
Merci
avec date +%N
%N
nanoseconds (000000000..999999999)
et dans le script:
T1=`date +%N`
...
T2=`date +%N`
...
T3=`date +%N`
je peux alors calculer les différents temps
%N
nanoseconds (000000000..999999999)
et dans le script:
T1=`date +%N`
...
T2=`date +%N`
...
T3=`date +%N`
je peux alors calculer les différents temps
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question