Calculer le temps mis par un extrait de programme à s’exécuter

Problème

Afin d’optimiser votre programme ou de faire des statistiques, vous souhaitez connaître le temps qu’il met à exécuter certaines parties de code.

Solution

Pour connaître le temps CPU, utilisez la fonction getrusage(). Notez le temps processeur avant l’exécution du code à chronométrer, puis appelez une seconde fois getrusage(). Le temps écoulé est la différence entre les valeurs renvoyées par cette fonction.

Pour connaître le temps réel, utilisez time() ou gettimeofday(). De la même façon qu’avec getrusage(), faites une différence entre la mesure avant et celle après l’opération.

Discussion

Sur un système mono-tâche, il suffirait de connaître l’heure avant et après l’exécution du code à chronométrer. Mais sur un système multitâches, comme le sont aujourd’hui les systèmes grand public, le déroulement d’une tâche est souvent interrompu pour permettre aux autres tâches de s’exécuter parallèlement, donnant à l’utilisateur cette impression que tout fonctionne en même temps. Par conséquent, il faut utiliser une autre fonction que time(), qui travaille sur l’heure courante. Vous recourrez à la fonction getrusage() qui prend pour référence le temps processeur...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Faire une pause
Suivant
Introduction