Mesure du temps

 

On fournit un exemple de chronométrage en langage C et Pascal. Il y a plusieurs techniques dépendants plus ou moins de votre environnement. On en rappelle deux:

 



Compilation avec Profile

(applicable sous Rapsody)

Une compilation avec l'option profile (-p) permet de mesurer experimentalement les différents temps de consommation au sein d'un programme. On peut voir par exemple le taux d'occupation cpu, mémoire pour chaqu'une des fonctions, on peut alors fixer les goulots d'étranglements.

Précisement cette option -p génére (sous UNIX en tout cas) un code spécial comme des appels à une fonction standart (monitor) dont le rôle est d'enregistrer des informations reatives à l'exécution du programme (ex: le nombre d'appel à chaque fonction). Sous Unix, les informations sont mémorisées dans le fichier mon.out et sont interprétables par l'utilitaire prof. La commande shell pour lancer cet utilitaire

prof [référence]

Faire un man pour plus d'informations sur les options de cet utilitaire.



Fonction TickCount

 

 Langage C

Il faut utiliser l'unité Events.h

Exemple


 Langage Pascal

Il faut utiliser l'unité Events.p

procedure GetFuncTime;
var
FirstTime : longint;
NextTime : longint;
FinalTime : longint;
begin
FirstTime := TickCount;
{Insérer la fonction ou procédure à chronometrer}
NextTime := TickCount;
FinalTime := NextTime - FirstTime;
writeln('temps=',FinalTime/60);
{Un 1 tick est équivalent à 1/60 ième de seconde}
end;
 
Exemple