Mesurer le Temps d’Exécution d’un Programme en Ligne de Commande Sous Windows


Lorsque vous exécutez des programmes en ligne de commande sous Windows, il peut être essentiel de comprendre combien de temps ils mettent pour s’exécuter. Cette connaissance peut être précieuse pour évaluer les performances de votre système, optimiser vos scripts, ou simplement surveiller les tâches en cours. La bonne nouvelle est qu’il existe des moyens simples de mesurer le temps d’exécution de n’importe quel programme en ligne de commande, et ce, grâce à l’utilisation d’un simple fichier batch.

@echo off
setlocal

:: Démarrez le chronomètre
set start_time=%time%

:: Exécutez votre commande  ici
Command -a -executer

:: Arrêtez le chronomètre
set end_time=%time%

:: Calculez durée exécution
for /f "tokens=1-4 delims=:.," %%a in ("%start_time%") do (
    set /a start_seconds=%%a*3600 + %%b*60 + %%c
    set /a start_milliseconds=%%d
)

for /f "tokens=1-4 delims=:.," %%a in ("%end_time%") do (
    set /a end_seconds=%%a*3600 + %%b*60 + %%c
    set /a end_milliseconds=%%d
)

set /a elapsed_seconds=end_seconds-start_seconds
set /a elapsed_milliseconds=end_milliseconds-start_milliseconds

:: Affichez durée exécution
echo Durée d'exécution : %elapsed_seconds% secondes et %elapsed_milliseconds% millisecondes

endlocal

Explication du fonctionnement

Le programme est un script batch, un fichier de commandes qui est exécuté dans l’invite de commande Windows. Son but principal est de mesurer le temps que prend l’exécution d’une commande ou d’un programme spécifique et d’afficher ce temps sous forme de durée en secondes et en millisecondes.

Le programme commence par désactiver l’affichage de chaque commande avec la commande @echo off. Cela permet d’obtenir une sortie plus propre et plus lisible dans l’invite de commande.

Ensuite, le script utilise la commande setlocal pour démarrer une section locale de variables d’environnement. Toutes les modifications apportées aux variables d’environnement à l’intérieur de cette section ne seront pas propagées au-delà de cette section, ce qui évite d’interférer avec les variables d’environnement globales du système.

Le script enregistre l’heure actuelle dans la variable start_time à l’aide de la commande set start_time=%time%. Cela crée un point de départ pour mesurer le temps.

La commande ou le programme que vous souhaitez mesurer est exécuté à cet endroit du script. Dans l’exemple fourni, il est indiqué de remplacer la ligne par la commande que vous souhaitez mesurer.

Après l’exécution de la commande ou du programme, le script enregistre à nouveau l’heure actuelle dans la variable end_time avec set end_time=%time%. Cette heure correspond à la fin de l’exécution.

Ensuite, le script utilise des boucles pour analyser les heures de début et de fin afin de calculer la durée d’exécution en secondes et en millisecondes. Ces valeurs sont stockées dans les variables elapsed_seconds et elapsed_milliseconds.

Enfin, le script affiche la durée d’exécution en secondes et en millisecondes en utilisant les valeurs calculées. Cela fournit une indication du temps qu’a pris l’exécution de la commande ou du programme.

En résumé, le script permet de chronométrer le début et la fin de l’exécution d’une commande ou d’un programme, puis de calculer la durée d’exécution, sous Windows. Bon Amusement !