Aller au contenu

Mesure de temps


AigleDor

Messages recommandés

Bonjour,

Je voudrais connaitre les différente méthodes qui existent pour mesurer le temps à l'intérieur d'un programme.

La plus accrue consiste je pense à consulter la valeur d'un registre CPU qui est incrémenté à chaque coup d'horloge avant et après, et ainsi déduire le temps qui s'est écoulé.

Je suis intéressé par cette méthode. Si vous avez des exemples de code ou savez ou je puisse en trouver je suis preneur.

Merci :francais:

Lien vers le commentaire
Partager sur d’autres sites

C'est disponible dans quel librairie? Quand je vois les mjuscule/minuscule de la faonction ça me fait penser à une langage orienté objet...

Je cherche quelque chose de précis, donc bas niveau (glibc, appels système, instructions asm...)

Je suis sur une piste: <time.h> de la glibc. Mais si vous avez d'autres propositions n'hésitez pas!

Lien vers le commentaire
Partager sur d’autres sites

C'est disponible dans quel librairie? Quand je vois les mjuscule/minuscule de la faonction ça me fait penser à une langage orienté objet...

Je cherche quelque chose de précis, donc bas niveau (glibc, appels système, instructions asm...)

Je suis sur une piste: <time.h> de la glibc. Mais si vous avez d'autres propositions n'hésitez pas!

<time.h>dispose d'une fonction qui permet de récupperer le nombre de seconde écoulé depuis une certaine date (1991 par la je crois mais je peux me tromper)

Par contre pas sur que cela permette des précisions extremes.

Autrement en Win32, il y a des timers, mais si ce n'est pas ton cas ou que ce n'est pas comme ça que tu veu fonctionner il faut trouver autre chose.

Lien vers le commentaire
Partager sur d’autres sites

Tu n'avais pas donné le langage utilisé aussi. Je pense que la méthode de Baldurien c'est du java. Donc c'est du C je suppose.

Pour le CPU, tu as clock.

Sinon pour le temps tout court, tu as time ftime et gettimeofday.

Ces fonctions sont dans time.h ou sys/time.h

man nomdelafonction pour toutes les infos, ou google. :mdr:

EDIT :

<time.h>dispose d'une fonction qui permet de récupperer le nombre de seconde écoulé depuis une certaine date (1991 par la je crois mais je peux me tromper)
1er Janvier 1970 à 00h 00m 00s GMT, début de l'ère Unix :mdr:
Lien vers le commentaire
Partager sur d’autres sites

EDIT :

<time.h>dispose d'une fonction qui permet de récupperer le nombre de seconde écoulé depuis une certaine date (1991 par la je crois mais je peux me tromper)
1er Janvier 1970 à 00h 00m 00s GMT, début de l'ère Unix ;)

1991... :transpi: Je me disait bien que c'était pas très cohérent la fonction time doit exister depuis plus de temps...

:chinois::francais::transpi::francais:

Lien vers le commentaire
Partager sur d’autres sites

#include <time.h>

[...]

long tim;

printf("début du calcul\n");
tim = clock();

calcul();

printf("fin du calul : %ld\n", (long double) (clock() - tim) / (long double) (CLOCKS_PER_SEC) );

je crois que c'est le plus précis que tu puisses faire. clock() compte les coups d'horloge (bien sûr, comme n'importe quel compteur, il finit par revenir à zero au bout d'un certain temps :t'ranspi: - mais si tu en es à l'horloge près, c'est que ton prog ne va pas tourner pendant 107 ans... :transpi: )

plus d'info sur man 3 clock :D

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...