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 il faut pour que le processus se termine). Existe-t-il une commande que je puisse ajouter à la commande appelant le processus qui y parviendra?
Ajoutez time
avant la commande à mesurer. Par exemple: time ls
.
La sortie ressemblera à:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
Explication sur real
name___, user
et sys
(à partir de man time
):
real
name__: Temps réel écoulé (horloge murale) utilisé par le processus, en secondes.user
name__: Nombre total de secondes-CPU que le processus a utilisé directement (en mode utilisateur), en secondes.sys
name__: Nombre total de secondes CPU utilisées par le système pour le compte du processus (en mode noyau), en secondes.Pour une mesure delta ligne par ligne, essayez gnomon .
C'est un utilitaire de ligne de commande, un peu comme ts de moreutils, pour ajouter des informations d'horodatage à la sortie standard d'une autre commande. Utile pour les processus de longue durée pour lesquels vous souhaitez un historique de ce qui prend si longtemps.
Piping quoi que ce soit à gnomon ajoutera un horodatage à chaque ligne, indiquant combien de temps cette ligne a été la dernière ligne du tampon - c'est-à-dire combien de temps il a fallu que la ligne suivante apparaisse. Par défaut, gnomon affichera les secondes écoulées entre chaque ligne, mais cela est configurable.
Vous pouvez utiliser time
:
time ls -R
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"
L'exécution de cette commande dans le terminal vous donnera le temps total nécessaire à la copie d'un fichier.
Parfois, il me faut un chronomètre pour compter le temps nécessaire à une action telle que le démarrage de mon application, auquel cas de nombreuses solutions ne sont pas utiles.
Pour cela, j'aime utiliser sw .
wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw
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