bonjour,
je voulais savoir comment faire en c pour calculer le temps d'éxecution d'une fonction ??
je pense qu'il doit s'agir d'une fonction de la biblio dos.h ?????
merci
Version imprimable
bonjour,
je voulais savoir comment faire en c pour calculer le temps d'éxecution d'une fonction ??
je pense qu'il doit s'agir d'une fonction de la biblio dos.h ?????
merci
la fonction clock() si la mesure peut etre "moyenne", la fonction GetClock dans les sources sur ce forum pour une mesure precise...
Sinon tu peux utiliser un profiler. gprof si tu utilise le compilateur gcc ;)
dos.h n'est pas une bibliothèque mais un fichier d'en-tête.
À ma connaissance, il n'y a rien en C standard qui soit plus précis que la seconde. Il faut donc que tu précises sur quelle plate-forme tu bosses.
J'avoue que j'ai posté avant de la lire, mais:
- Comme je l'ai dit, ce n'est pas du C standard. Multiplateforme certes, mais pas standard.
- Je trouve l'ordre de tes ifdef un peu bizarre (IF NOT { IF {} ELSE {} } ELSE {})
- 'sys/time.h': No such file or directory sous Visual Studio.
- La fonction gettimeofday() est inconnue au bataillon sur MSDN.
- S'agit-il d'extensions POSIX apportées par MinGW, comme <dirent.h> ?
merci les gars la fonction clock_t me résoud le pb
clock(), qui mesure le temps d'occupation du CPU, a une résolution qui dépend de l'implémentation. Elle peut tout à fait être < à une seconde.
Code:
1
2
3
4
5
6
7
8
9
10
11 #include<stdio.h> #include<time.h> int main (void) { printf ("Resolution de clock() sur cette plateforme :\n" "%g s, soit %g ms\n", 1.0 / CLOCKS_PER_SEC, 1000.0 / CLOCKS_PER_SEC); return 0; }
Code:
1
2
3
4
5 Resolution de clock() sur cette plateforme : 0.001 s, soit 1 ms Press ENTER to continue.
tu peux t'inspirer de ces 2 post :
http://www.developpez.net/forums/sho...d.php?t=466025
http://www.developpez.net/forums/sho...d.php?t=446436