time est une commande UNIX. Le binaire est dans /usr/bin. Son principe
consiste à lancer un exécutable pour mesurer le temps pris par le processus fils.
Attention, sous Windows cette commande a un autre rôle: définir l' heure systême!
Lancer une console BASH.
Cette première commande dresse la liste des fichiers, et affiche le temps
qu'il a fallu pour excécuter cette commande:
$ time ls -la
Total 3
drwxr-xr-x 2 user user 4096 2006-06-06 11:09 .designer
drwxr-xr-x 2 user user 4096 2006-07-28 15:56 Desktop
-rw------- 1 user user 26 2006-03-03 20:28 .dmrc
real 0m0.076s
user 0m0.008s
sys 0m0.008s
(Avec le tiret pour les arguments par convention UNIX, merci David!)
Pour plus d'infos sur time:
$ info time
$ man time
Lancer une console NON BASH (DASH par exemple)
$ time --help
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
Exemples
En Admettant que vous ayez un exécutable ('monexe') qui prend en argument un nom de fichier ('monarg')
1) Lancement simple
$ time monexe monarg
0.01user 0.00system 0:00.15elapsed 10%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+158minor)pagefaults 0swaps
2) Formate la sortie
$ time -f "\t%E real,\t%U user,\t%S sys" monexe monarg
0:00.13 real, 0.01 user, 0.00 sys
3) Encore plus d'arguments
$ time -f "\t%C\n\t%t Ko Avg resident set size of the process\n\t%K Ko Avg total
(data+stack+text)\n\t%E real mn:s:us,\n\t%U user,\n\t%S sys" monexe monarg
monexe monarg
0 Ko Average resident set size of the process
0 Ko Average total (data+stack+text)
0:00.03 real mn:s:us,
0.01 user,
0.00 sys
4) Mode Verbose (bavard)
$ time -v monexe monarg
5) Stocke toute la sortie vers log.txt
$ time -v -o log.txt monexe monarg
log.txt contient:
Command being timed: "monexe monarg"
User time (seconds): 0.02
System time (seconds): 0.00
Percent of CPU this job got: 9%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.20
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 161
Voluntary context switches: 1
Involuntary context switches: 7
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
6) Idem mais ajoute la ligne au fichier sans l' écraser (append) :
$ time -v -a -o log.txt monexe monarg