Environment.TickCount est basée sur la fonction WinAPI
GetTickCount() . C'est en millisecondes, mais la précision réelle c'est Mme environ 15,6 donc vous ne pouvez pas mesurer des intervalles de temps plus courtes (ou vous aurez 0)
DateTime.Ticks est basé sur
GetSystemTimeAsFileTime() fonction WinAPI. C'est en centaines de nanosecondes (dixièmes de microsoconds). La précision réelle de DateTime.Ticks dépend du système. Sur XP, l'accroissement de l'horloge système est environ 15,6 ms, les mêmes que ceux de Environment.TickCount. Sur Windows 7 sa précision est de 1 ms (bien que Environemnt.TickCount est encore 15,6 ms)
Stopwatch est basée sur la fonction WinAPI
QueryPerformanceCounter() (mais si le compteur de performance haute résolution n'est pas pris en charge par votre système, DateTime.Ticks est utilisé)
Avant d'utiliser le chronomètre avis deux problèmes :
- Il peut être non fiable sur des systèmes multiprocesseurs (voir MS kb895980, kb896256)
- Il n'est pas fiable si la fréquence du CPU varie (lire cet article)
Partager