Quelle est la durée?

La durée est la quantité de temps qu'il faut pour qu'un processus se termine. Pour utiliser un exemple concret: si vous regardez une horloge et notez l'heure, sortez ensuite vous promener, puis revenez et constatez que quinze minutes se sont écoulées et que la durée de votre promenade était de quinze minutes.

Les ordinateurs contiennent du matériel spécifique pour mesurer le temps et les systèmes d'exploitation incluent des commandes que vous pouvez utiliser pour mesurer la durée d'exécution d'un programme.

Dans les ordinateurs modernes, le temps peut être mesuré par différentes horloges.

  • Le RTC (horloge temps réel) utilise un cristal de quartz qui vibre à une fréquence constante pour garder une trace du "temps humain": années, mois, jours, heures, minutes et secondes. Cependant, sa fréquence (32 768 Hz) est trop lente pour mesurer des fractions de temps inférieures à 1/32 768 de seconde. Les processeurs modernes peuvent effectuer une opération beaucoup plus rapidement, si bien que le RTC ne peut pas mesurer avec précision la durée d'un processus informatique.
  • Un temporisateur à intervalle programmable ( PIT ) est un compteur matériel qui peut déclencher une interruption lorsqu'un certain total est atteint. Le circuit intégré Intel 8253 est un PIT commun, conçu à l’origine pour être utilisé avec le processeur Intel 8080. Il fonctionne à une fréquence de 1, 193182 MHz. Il est utilisé comme horloge système par de nombreux systèmes d'exploitation, notamment Windows et Linux.
  • Un compteur temporel ( TSC ) est un registre 64 bits situé sur tous les processeurs x86 modernes. Il compte les cycles d’horloge individuels et a été introduit pour la première fois avec la gamme de processeurs Intel Pentium. Au début, il était utile de fournir une horloge capable de mesurer des fractions de temps inférieures à celles d'un RTC ou d'un PIT. Cependant, le processeur doit fonctionner à une vitesse constante pour obtenir une mesure précise. Les nouveaux processeurs peuvent changer de fréquence (par exemple, entrer dans un mode "turbo" pour obtenir des augmentations de vitesse temporaires, ou réduire la vitesse à une vitesse inférieure en mode veille pour économiser de l'énergie). Ainsi, le TSC, bien que toujours utile à d’autres fins, n’est plus fiable pour mesurer le temps constant.
  • HPET (horloge haute précision d’événement) est une horloge matérielle, développée conjointement par Intel et Microsoft, disponible sur les ordinateurs fabriqués après 2005. Dans le chipset de la CPU sur la carte mère, la HPET est généralement située sur le southbridge. Il compte le temps en 64 bits à au moins 10 MHz et utilise trois compteurs "comparateurs" (32 bits ou 64 bits) pour obtenir une mesure temporelle extrêmement précise. HPET est utilisé à de nombreuses fins sur votre ordinateur, telles que la synchronisation du flux audio lors de la lecture d'une vidéo.

La plus précise de ces méthodes de chronométrage est la HPET .

Comment chronométrer un processus sur votre ordinateur

Il existe différentes manières de savoir combien de temps un processus prend sur votre ordinateur.

Dans l'invite de commande Windows

Dans l'invite de commande Windows, il n'existe pas de moyen intégré pour chronométrer une commande. Cependant, il existe au moins un moyen simple de savoir quand votre commande a démarré et s'est arrêtée. Vous pouvez créer un fichier de commandes qui utilise la variable d’environnement % time% . Par exemple, si vous créez un fichier de commandes appelé mytime.bat, donnez-lui les lignes suivantes:

 @echo off set timestart =% time%% * echo Début:% timestart% echo Fin:% time% 

La variable % time% est l'heure actuelle et % * tout après le nom de la commande. Donc, pour chronométrer la commande dir, par exemple:

 mytime dir c: \ 
 Le volume dans le lecteur C correspond à Windows10. Le numéro de série du volume est 5CB6-BCD6 Répertoire de c: \ [ liste de répertoires ... ] 28 Fichier (s) 4 500 506 octets 12 Dir (s) 23 807 946 752 octets gratuit Début: 19: 31: 18.87 Finition: 19 : 31: 18.89 

Remarque: cette méthode n'est pas précise. Il ne mesure pas le temps de calcul, mais uniquement le temps "horloge murale". Ainsi, d'autres programmes en cours d'exécution sur votre ordinateur affecteront les temps indiqués. En outre, la durée doit être calculée manuellement, en soustrayant l'heure "début" de l'heure "fin".

Dans Windows PowerShell

Dans Windows PowerShell, vous pouvez savoir le temps nécessaire à l'exécution d'un programme en le démarrant avec l'applet de commande Measure-Command . En général, il est utilisé comme ceci:

 Measure-Command { commande } 

La commande sera exécutée, mais aucune sortie ne sera affichée. Au lieu de cela, la sortie affichera des informations sur le temps nécessaire à l' exécution de la commande . Par exemple:

 Measure-Command {dir} 
 Jours: 0 Heures: 0 Minutes: 0 Secondes: 0 Millisecondes: 14 Ticks: 142200 TotalJournages: 1.64583333333333E-07 TotalHeures: 3.95E-06 TotalMinutes: 0.000237 TotalSecondes: 0.01422 TotalMillisecondes: 14.22 

Sous Linux

Sous Linux, vous pouvez préfixer toute commande shell avec la commande time pour en mesurer la durée. Par exemple, la commande suivante recherchera tous les fichiers dans ou sous le répertoire en cours contenant le mot espoir, et indiquera le temps nécessaire à leur recherche:

 temps trouver / home / myuser -iname '* espoir *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip real 0m0.298s utilisateur 0m0.164s sys 0m0.088s 

Contrairement à Measure-Command, l' heure Linux affiche toutes les sorties de la commande en cours de chronométrage. Ensuite, il indique trois fois: le temps utilisateur (combien de temps la commande a réellement été exécuté), le temps sys (le temps passé par le noyau à effectuer les tâches système requises) et le temps réel (temps total écoulé).

  • Comment définir ou modifier la date et l'heure d'un ordinateur.

Termes matériels, termes logiciels