#1 Le 30/05/2008, à 14:14
- roger64
(résolu) Comment chronométrer une tâche ?
Bonjour
Il m'est arrivé de me servir de ma console et c'est la raison pour laquelle je m'adresse à cet estimable et compétent forum. J'aimerais bien, lorsque j'effectue une tâche, par exemple un transfert de fichier, savoir combien de temps il faut à mon ordinateur pour l'achever.
Bon, on peut le faire avec un chrono, en guettant le retour du prompt avec la langue entre les dents, mais je ne trouve pas ça très convivial.
Un truc du genre :
sudo cp /media/machin /home/user && chrono
et puis au retour du prompt, ça me dirait :
une heure vingt cinq minutes douze secondes, cher monsieur
Je rêve ? ou ça fait partie des fonctions système depuis la nuit des temps ?
Dernière modification par roger64 (Le 30/05/2008, à 15:42)
Hors ligne
#3 Le 30/05/2008, à 14:30
- philou8237
Re : (résolu) Comment chronométrer une tâche ?
quelque chose comme :
sudo cp /media/machin /home/user && chrono
ne pourrait marcher, car en faisant ça, tu créés deux taches indépendante, avec uniquement une opération logique sur le démarrage de la seconde tache. Donc "chrono" ne sais pas que "cp" existe, et ne peux donc pas récupérer des information dessus.
Un truc que tu peux faire, c'est ajouter l'heure courante à ton prompt, donc quand ton prompt reviens, il te donne l'heure, et tu vois le temps que ça a mis en comparant au prompt précédant... ou utiliser time
Dernière modification par philou8237 (Le 30/05/2008, à 14:31)
Hors ligne
#4 Le 30/05/2008, à 14:30
- roger64
Re : (résolu) Comment chronométrer une tâche ?
@miraks
euh...après un court instant d'euphorie, je reprend un dur contact avec la réalité, ça a bien calculé quelque chose mais la copie n'a pas été faite. Alors je ne sais pas ce qui a été calculé.
Dernière modification par roger64 (Le 30/05/2008, à 14:40)
Hors ligne
#5 Le 30/05/2008, à 14:49
- roger64
Re : (résolu) Comment chronométrer une tâche ?
quelque chose comme :
sudo cp /media/machin /home/user && chrono
sans doute, c'était juste un exemple pour me faire comprendre.
Il faudrait un script ?
avec une commande en blanc quelque part à l'intérieur et une boite de dialogue qui me demande poliment :
insérez ici la commande que vous voulez chronométrer
Comment ajoute t-on l'heure courante au prompt ? ça parait simple, ça
Dernière modification par roger64 (Le 30/05/2008, à 14:52)
Hors ligne
#6 Le 30/05/2008, à 15:08
- guyver2
Re : (résolu) Comment chronométrer une tâche ?
g2@pioneer3$ time ls
bibli.bib gpca memoire.mtc2 rapport.lof
bibliographie.bib introduction memoire.mtc3 rapport.log
commandes.tex makefile memoire.mtc4 rapport.lot
frbib.sty memoire.bbl memoire.mtc5 rapport.pdf
french.ldf memoire.blg memoire.pdf rapport.sty
french.sty memoire.lof memoire.tex rapport.tex
frenchle.ldf memoire.lot rapport.aux rapport.toc
frenchle.sty memoire.maf rapport.bbl soa
frontieres memoire.mtc rapport.blg vo
frplain.bst memoire.mtc1 rapport.dvi
real 0m0.005s
user 0m0.002s
sys 0m0.004s
de quoi a tu besoin de plus ?
on voit bien combien de temps la commande a mis pour s'executer, a savoir 5 milisecondes
que veux tu dire par :
ça a bien calculé quelque chose mais la copie n'a pas été faite
quelle copie ?
Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++
Hors ligne
#7 Le 30/05/2008, à 15:27
- roger64
Re : (résolu) Comment chronométrer une tâche ?
Ben,
sudo cp /home/roger/ /media/machin
est supposé copier le repertoire /home/roger vers /media/machin mais hélas, si je mets time devant cette commande, ça chronomètre à la demi virgule près mais ça ne copie rien...
Un petit inconvénient.
Je voudrais savoir combien de temps il a fallu pour copier, ça implique d'abord que cela ait été copié.
Dernière modification par roger64 (Le 30/05/2008, à 15:29)
Hors ligne
#8 Le 30/05/2008, à 15:35
- guyver2
Re : (résolu) Comment chronométrer une tâche ?
ca ne copie rien ?
tu es sur que ta commande est correcte (dossier existants , ...) Il faut l'option -r si tu copie des dossiers
sinon le "sudo" ajoute du temps d'execution puisque 'il faut que tu saisisse ton mot de passe.
sudo garde l'authentification active quelques minutes, essaye un truc du genre
#on fait une premiere commande anodine en sudo pour activer l'authentifacation
sudo ls
time sudo cp -r /dossiers/a/copier /destination/ou/copier
Dernière modification par guyver2 (Le 30/05/2008, à 15:35)
Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++
Hors ligne
#9 Le 30/05/2008, à 15:40
- roger64
Re : (résolu) Comment chronométrer une tâche ?
roger@roger-laptop:~$ time sudo cp -r /home/roger/imageslinux/tux /home/roger
real 0m0.011s
user 0m0.008s
sys 0m0.000s
roger@roger-laptop:~$
eh bien, comme ça , ça a fonctionné et j'ai bien un -petit- dossier tux dans /home/roger
Je vais revérifier et marquer résolu.
Merci à tous et pardon pour mes erreurs:)
Dernière modification par roger64 (Le 30/05/2008, à 16:31)
Hors ligne
#10 Le 30/05/2008, à 15:43
- guyver2
Re : (résolu) Comment chronométrer une tâche ?
c'etait donc l'option -r qui manquait ?
et si tu es dans ton /home, tu ne devrais pas avoir a utiliser sudo.
Dernière modification par guyver2 (Le 30/05/2008, à 15:44)
Croire est le meilleur moyen de ne jamais rien savoir
Mes jeux en C/C++
Hors ligne
#11 Le 30/05/2008, à 16:30
- roger64
Re : (résolu) Comment chronométrer une tâche ?
exact. Encore merci à tous.
Hors ligne
#12 Le 30/05/2008, à 17:27
- philou8237
Re : (résolu) Comment chronométrer une tâche ?
Sous zsh, pour avoir l'heure dans le prompt :
PROMPT=$'[%n@%{\e[1;33m%}%B%m%b:%(4c,./%2~,%~)] <%T> %(?,:%),:(%() %# %{\e[0m%} '
En plus, tu as droit à un peu de couleur, et un smiley à la fin qui souris qd tout se passe bien et fais la tronche qd la commande renvoie autre chose que 0.
Ça fait ça :
[phil@hermes:~] <18:26> :) dsfsdfdsfsdf
[phil@hermes:~] <18:26> :(
Je te le donne cash, car c'est un peu le bordel les remplacement dans les prompts de zsh. Par contre... c'est un shell trèèès puissant et agréable.
Dernière modification par philou8237 (Le 30/05/2008, à 17:30)
Hors ligne
#13 Le 30/05/2008, à 17:34
- roger64
Re : (résolu) Comment chronométrer une tâche ?
@philou
Merci aussi pour ton élégante solution
Hors ligne