DateTime.Now
: Précision vs PrécisionDes tests unitaires récents ont mis en évidence un comportement inattendu avec DateTime.UtcNow
. Des appels consécutifs dans un court intervalle ont donné des résultats identiques, contrairement aux attentes d'une granularité de l'ordre de la milliseconde. Cela soulève des questions concernant la précision de DateTime.Now
. Bien que Stopwatch
offre une précision supérieure en matière de timing, il est crucial de comprendre les limites de DateTime.Now
. Sa précision est-elle officiellement documentée (par exemple 50 ms) ? Pourquoi est-il moins précis que la plupart des horloges CPU ?
La différence : exactitude et précision
Il est essentiel de faire la différence entre exactitude et précision. Une horloge précise signale systématiquement les différences horaires avec une résolution spécifique ; une horloge précise s'aligne de manière cohérente avec une source de temps externe.
DateTime.Now
sert à la représentation générale de la date et de l'heure : affiche l'heure actuelle, la planification et le calcul des différences de date. Le chronométrage de haute précision n’est pas sa fonction première. La plupart des ordinateurs n'ont pas accès à des références temporelles externes précises, ce qui rend la haute précision et l'exactitude simultanément inaccessibles pour DateTime.Now
.
En résumé
La précision inférieure deDateTime.Now
empêche de signaler une fausse précision. Sa conception donne la priorité à une représentation précise de la date et de l’heure dans le cadre des contraintes typiques du système. Pour un timing précis, Stopwatch
reste le choix privilégié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!