Mesurer le temps : précision 0.1 µs - C++ - Programmation
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....
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 ?) |
J'ai pas trouvé mieux que 1 µs jusque là co précision...
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.
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 : |
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 ?
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. |
la je pense que tu peux attendre longtemps !
Marsh Posté le 20-03-2003 à 15:00:27
chrisbk a écrit : |
Sais tu qu'avec une fréquence, on peut la convertir en durée, par une simple règle de 3 ?
Marsh Posté le 20-03-2003 à 15:01:07
chrisbk a écrit : |
C pour ca qu il y a 2 fonctions a utiliser
QueryPerformanceCounter et QueryPerformanceFrequency
Marsh Posté le 20-03-2003 à 15:02:33
Tetragrammaton IHVH a écrit : |
et de part ta conversion ne risques tu pas de perdre de ta precieuse precision ?
Marsh Posté le 20-03-2003 à 15:02:39
VisualC++ a écrit : |
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)
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
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).
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.
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.
Marsh Posté le 25-03-2003 à 08:09:04
Reply
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.