Comment mesurer le temps d'exécution d'un processus terminal?

124

J'essaie de mesurer le temps d'exécution d'un processus que j'appelle via la ligne de commande (c'est-à-dire que je veux savoir combien de temps cela prend pour que le processus se termine). Existe-t-il une commande que je peux ajouter à la commande en appelant le processus qui y parviendra?

    
posée htorque 17.07.2011 - 14:26
la source

5 réponses

154

Ajoutez time avant la commande à mesurer.

La sortie ressemblera à:

real    0m0.606s
user    0m0.000s
sys     0m0.002s

Explication sur real , user et sys (à partir de man time ):

  • real : Temps réel écoulé (horloge murale) utilisé par le processus, en secondes.
  • user : nombre total de secondes processeur que le processus a utilisé directement (en mode utilisateur), en secondes.
  • sys : Nombre total de secondes processeur utilisées par le système pour le processus (en mode noyau), en secondes.
réponse donnée ninjalj 17.07.2011 - 14:30
la source
31

Pour une mesure delta ligne par ligne, essayez gnomon .

  

C'est un utilitaire de ligne de commande, un peu comme les moreutils, pour ajouter des informations d’horodatage à la sortie standard d’une autre commande. Utile pour les processus de longue durée où vous souhaitez un historique de ce qui prend tant de temps.

     

Tout ce qui peut aller à gnomon ajoutera un horodatage à chaque ligne, indiquant combien de temps cette ligne était la dernière ligne du tampon - c'est-à-dire combien de temps la ligne suivante a paru. Par défaut, gnomon affichera les secondes écoulées entre chaque ligne, mais cela est configurable.

    
réponse donnée Janus Troelsen 27.07.2016 - 12:45
la source
22

Vous pouvez utiliser time :

time ls -R
    
réponse donnée William Niu 17.07.2011 - 14:30
la source
5
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

L'exécution de cette commande dans le terminal vous donnera le temps total pour copier un fichier

    
réponse donnée user314473 11.08.2014 - 07:20
la source
4

De temps en temps, j'ai besoin d’un chronomètre pour compter le temps nécessaire à une action comme le démarrage de mon application, auquel cas de nombreuses solutions ne sont pas utiles.

J'aime utiliser sw .

Installer

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw

Utilisation

sw
 - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
 - start a stopwatch from the last saved start time (or current time if no last saved start time exists)
 - "-r" stands for --resume
    
réponse donnée Cory Klein 23.06.2017 - 23:11
la source

Lire d'autres questions sur les étiquettes