Le calcul du temps écoulé dans un programme C en millisecondes
Je veux calculer le temps en millisecondes prises par l'exécution d'une partie de mon programme. J'ai été à la recherche en ligne, mais il n'y a pas beaucoup d'info sur ce sujet. Un de vous sait comment faire cela?
- Utilisé de plus en conformité avec la convention.
- hm... n'ai-je pas répondre à cette question, il y a une semaine: stackoverflow.com/questions/1444428/...
Vous devez vous connecter pour publier un commentaire.
Meilleure façon de répondre est avec un exemple:
Une autre option ( au moins sur certains UNIX ) est clock_gettime et les fonctions associées. Ils permettent d'accéder à diverses horloges en temps réel et vous pouvez sélectionner l'une des plus haute résolution et jeter la résolution que vous n'avez pas besoin.
CLOCK_MONOTONIC
de l'horloge, si le système que vous utilisez prend en charge (sysconf(_SC_MONOTONIC_CLOCK) > 0
).La
gettimeofday
fonction renvoie le temps avec une précision (si la plate-forme peut soutenir que, bien sûr):gettimeofday
n'est pas idéal pour mesurer le temps écoulé entre deux événements, parce que le système de l'heure de l'horloge qui peut être modifié entre les événements (par exemple. par un NTP mise à jour, ou tout simplement l'action de l'administrateur). (Parfois, il est la meilleure chose disponible, tout de même).C les bibliothèques ont une fonction de vous permettre d'obtenir l'heure du système. Vous pouvez calculer le temps écoulé après la capture de début et de fin des temps.
L'appel de la fonction gettimeofday() et vous pouvez voir la page de man pour savoir quoi et comment l'utiliser.
Sur Windows, il vous suffit de faire ceci:
Pas le plus général/solution élégante, mais agréable et rapide, quand vous en avez besoin.