Mesurer le temps : précision 0.1 µs

Mesurer le temps : précision 0.1 µs - C++ - Programmation

Marsh Posté le 20-03-2003 à 14:09:45    

Je cherche un timer ayant une précision de l'ordre de 0.1 µs.
Le programme est multitaches et je ne veux pas que les basculements de taches influent sur ce timer.
 
Merci.

Reply

Marsh Posté le 20-03-2003 à 14:09:45   

Reply

Marsh Posté le 20-03-2003 à 14:13:28    

la je crois que t'es franchement mal barre (ou pe avec du matos specifique ?)
 
je doute fort que l'horloge interne d'un PC atteigne une tel precision....

Reply

Marsh Posté le 20-03-2003 à 14:17:36    

chrisbk a écrit :

la je crois que t'es franchement mal barre (ou pe avec du matos specifique ?)
 
je doute fort que l'horloge interne d'un PC atteigne une tel precision....
 


 
J'ai pas trouvé mieux que 1 µs jusque là co précision...

Reply

Marsh Posté le 20-03-2003 à 14:39:49    

Puisque tu n'indiques pas la plateforme, je suppose qu'il s'agit de windows :
 
Tu as la fonction de l'API : QueryPerformanceCounter()
qui compte les cycles du proco.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 20-03-2003 à 14:41:27    

Tetragrammaton IHVH a écrit :

Puisque tu n'indiques pas la plateforme, je suppose qu'il s'agit de windows :
 
Tu as la fonction de l'API : QueryPerformanceCounter()
qui compte les cycles du proco.


 
 
Crois tu ? parce que tu veux mesurer quoi avec un cycle ? (vu que la duree d'un cycle varie d'un pc a l'autre...)
 
Ne confonderais tu pas avec RDTSC ?

Reply

Marsh Posté le 20-03-2003 à 14:42:40    

leFab a écrit :

Je cherche un timer ayant une précision de l'ordre de 0.1 µs.


:eek2:
la je pense que tu peux attendre longtemps !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 20-03-2003 à 15:00:27    

chrisbk a écrit :


 
 
Crois tu ? parce que tu veux mesurer quoi avec un cycle ? (vu que la duree d'un cycle varie d'un pc a l'autre...)


 
Sais tu qu'avec une fréquence, on peut la convertir en durée, par une simple règle de 3 ? :lol:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 20-03-2003 à 15:01:07    

chrisbk a écrit :


 
 
Crois tu ? parce que tu veux mesurer quoi avec un cycle ? (vu que la duree d'un cycle varie d'un pc a l'autre...)
 
Ne confonderais tu pas avec RDTSC ?
 


 
C pour ca qu il y a 2 fonctions a utiliser
 
QueryPerformanceCounter et QueryPerformanceFrequency

Reply

Marsh Posté le 20-03-2003 à 15:02:33    

Tetragrammaton IHVH a écrit :


 
Sais tu qu'avec une fréquence, on peut la convertir en durée, par une simple règle de 3 ? :lol:


 
et de part ta conversion ne risques tu pas de perdre de ta precieuse precision ?

Reply

Marsh Posté le 20-03-2003 à 15:02:39    

VisualC++ a écrit :


 
C pour ca qu il y a 2 fonctions a utiliser
 
QueryPerformanceCounter et QueryPerformanceFrequency


 
 :jap:  :jap:  :jap:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 20-03-2003 à 15:02:39   

Reply

Marsh Posté le 20-03-2003 à 15:10:19    

Accessoirement, ou vous avez vu que QueryPerformanceCounter  se basait sur RDTSC ? (question inside, la msdn ne dit rien de bien precis a ce sujet)

Reply

Marsh Posté le 20-03-2003 à 15:17:40    

J ai jamais parle de ca, je repond juste a la question
 
Pour les timers de precisions c ces 2 fonctions qu il faudrait utiliser, c tout :)

Reply

Marsh Posté le 20-03-2003 à 15:18:40    

Il me semble qu'elle dit juste que l'implémentation est specifique a la plateforme (RDTSC => Intel).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 20-03-2003 à 17:22:16    

pour QueryPerformanceCounter et QueryPerformanceFrequency d'après mes essais, c'est pas RDTSC qui est utilisé. RDTSC est présent sur tous les CPUs depuis le pentium 1 donc que ce soit p2/p3/p4/athlon ça pourrait être utilisé.
 
de toutes façon c'est très facile à vérifier, tu prends un timer standard, et si en seconde, la différence de QueryPerformanceCounter est pas la fréquence CPU, c'est pas RDTSC qui est utilisé, et que c'est donc un timer basé le Timer Rapide du PC.

Reply

Marsh Posté le 24-03-2003 à 19:48:44    

Citation :

RDTSC est présent sur tous les CPUs depuis le pentium 1 donc que ce soit p2/p3/p4/athlon ça pourrait être utilisé.


 
Plateforme ... je parlais de Windows pour DEC Alpha.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 25-03-2003 à 00:41:04    

oki...

Reply

Marsh Posté le 25-03-2003 à 08:09:04    

Reply

Marsh Posté le 25-03-2003 à 10:17:37    

Merci pour toutes ces réponses  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed