ZerosquareLe 23/03/2012 à 14:25
Si, c'est nécessaire. Le problème n'est pas le fait que les compteurs ne soient pas lus simultanément (si tu supposes que le temps d'exécution est constant, ça s'annule quand tu calcules la différence, et de toute façon c'est complètement négligeable par rapport à la durée mesurée), mais le risque qu'il y ait un context-switch entre la lecture des deux compteurs. Dans ce cas ta mesure va être faussée (plus ou moins, suivant le temps passé à exécuter un autre processus).
Tu peux moyenner, mais ça pose 2 problèmes :
- l'erreur n'est pas centrée sur zéro (la durée ne peut être que rallongée, pas diminuée)
- vu que la fréquence du processeur n'est pas fixe, moyenner revient à effectuer un filtre passe-bas, donc à détruire de l'information