• # TSC

    Posté par . En réponse au message Mesurer le temps d'exécution d'un fragment de code. Évalué à 2.

    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.

    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(...)