Rechercher : dans
Par :

Afficher temps execution programme en ksh

Dernière réponse le 25 oct 2007 à 11:49:08 ferrari75k, le 24 oct 2007 à 22:09:50 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Afficher temps execution programme en ksh » dans :
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha-Bang Premièrement,...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...

1

davlar_99, le 25 oct 2007 à 00:03:53

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+

Répondre à davlar_99

2

ferrari75k, le 25 oct 2007 à 09:43:47

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

Répondre à ferrari75k

3

jipicy, le 25 oct 2007 à 09:57:58
  • +2

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 :

time -a -o mon_fich -f %e commande1
time -a -o mon_fich -f %e commande2
time -a -o mon_fich -f %e commande3
aprè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 /home
puis 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.02
Puis 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
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

dubcek, le 25 oct 2007 à 10:52:24

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

Répondre à dubcek

5

ferrari75k, le 25 oct 2007 à 11:40:33

Merci beaucoup jipicy :-)

Répondre à ferrari75k

6

 ferrari75k, le 25 oct 2007 à 11:49:08

Merci dubcek :-)

Répondre à ferrari75k