Temps en micro secondes

Signaler
Messages postés
2
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
30 décembre 2002
-
Messages postés
14
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
13 août 2009
-
Quelqu'un connaitrait-il une fonction pour avoir le temps en microsecondes (enfin... en une unitée plus petite que la seconde).
A voir également:

4 réponses

Messages postés
97
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
11 mai 2008

GetTickCount donne le nombre de millisecondes depuis le démarrage du PC.
Il y a une fonction qui donne des temps plus précis, en nano-secondes il me semble, je poste si je la trouve ...
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour,
si tu utilises Windows ...
I) il existe une simple fonction avec une résolution moyenne
(elle rend un résultat en millisecondes ... mais ne compte pas t'en servir avec une résolution inférieure à environ 32 ms :

DWORD dw1 = GetTickCount();
//ici le process à mesurer
DWORD dw2 = GetTickCount();
cout << "temps en ms = " << dw2-dw1 << endl;

II) il existe un compteur haute résolution
appeler d'abord
LARGE_INTEGER pf;
BOOL bRC = QueryPerformanceFrequency(&pf);
pour obtenir la résolution du compteur :
elle rend dans pf le nombre de "count" par seconde

appeler ensuite :
LARGE_INTEGER pc1, pc2;
QueryPerformanceCounter(&pc1);
//process à mesurer
QueryPerformanceCounter(&pc2);
cette fonction met dans pc1 le nombre de 'count'
... et comparer les résultats
Attention à bien comparer les LARGE_INTEGERs qui sont des structures
pc1.LowPart et pc1.HighPart
a moins que ton système supporte le 64 bit directement!
bon courage
Messages postés
2
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
30 décembre 2002

merci beaucoup pour vos réponses qui m'ont été très utiles
Messages postés
14
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
13 août 2009

salut,
je n'arrive pas à comprendre le fonctionnement des fonctions QueryPerformanceCounter, et QueryPerformanceFrequency, car je cherche un moyen d'obtenir un temp en microseconde.
Je croi que ce sont ces fonctions qu'il faut utiliser.