Sur x86 tu peux utiliser le timestamp counter (le fameux registre TSC et son instruction rdtsc) pour connaître le nombre de cycles CPU depuis son démarrage. Il faut se faire des petites fonctions autour de cette opération pour avoir un merveilleux compteur.
2 défauts :
- sur des systèmes SMP, les différents CPU peuvent avoir des TSC avec des valeurs relativement différentes
- Avec des processeurs qui changent de fréquence dynamiquement, il est pas immédiat de déduire du nombre du cycles un temps.
# TSC
Posté par Damien Lespiau . En réponse au message Mesurer le temps d'exécution d'un fragment de code. Évalué à 2.
Pour du code, on peut se reporter à http://www.fftw.org/cycle.h
2 défauts :
- sur des systèmes SMP, les différents CPU peuvent avoir des TSC avec des valeurs relativement différentes
- Avec des processeurs qui changent de fréquence dynamiquement, il est pas immédiat de déduire du nombre du cycles un temps.
J'avais trouvé un pdf vraiment intéressant avec des considérations sur l'utilisation du registre TSC pour les mesures de performances : http://www.cs.toronto.edu/~demke/469F.06/Lectures/Lecture5.p(...)