Cmt calculer temps d'execution program en c

[Fermé]
Signaler
Messages postés
93
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
7 septembre 2010
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,
mon probleme c'est que j'ai besoin d'une fonction qui calcul le temps d'execution de mon programme ou d'une de mes fonctions pour que je puisse l'afficher.
je programme en c sous linux (fedora8) et avec le compilateur gcc .
aidez moi SVP :(( c'est urgent
A voir également:

4 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 785
L'utilisation d'un profiler (gprof par exemple) te convient-il ? Ou tu veux impérativement que ce soit ton programme qui affiche le temps ? Et avec quelle granularité (seconde ou milliseconde) ?

Cdlt,
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
93
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
7 septembre 2010
15
salut fiddy ,
merci de m'avoir repondre, je veux bien que mon programme lui mm affiche le temps d'execution d'une de ses fonction, j'ai déja essayé:
#include<stdio.h>
#include<conio.h>
#include<time.h>



int main(){
clock_t start, end;
double elapsed;
start = clock();

/* code */

end=clock();
elapsed=((double)end=start)/CLOCKS_PER_SEC;
printf("%.2f secondes entre start et end. \n",elapsed);
}
mé malheureusement ca marche pas ;(
SVP j'ai besoin de cette fonction le plus tot possible c'est urgent Aidez moi !!!
et merci d'avance
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

#include<time.h>

{
double start,stop;
start=clock();
*************
code
**************
stop=clock();
double k;
k= (stop-start)/1000 ;
printf(" temps d'exucution est T=%f ",k);
}
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 785
Merci de regarder la date avant de déterrer un topic. En plus ton code est faux.
Les types ne sont pas bons, et tu divises par 1000 au lieu d'utiliser la constante...
Messages postés
93
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
7 septembre 2010
15
g essayé mé ca ne fonctionne encore pas , elle me renvoi 0,00s
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 785
Normal, si le code dont tu souhaites estimer le temps est inférieure à une seconde, il t'affichera 0 seconde. D'où la question sur la granularité dans mon premier post à laquelle tu n'as pas répondu...
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 785
elapsed=((double)end=start)/CLOCKS_PER_SEC;
end=start, va t'affecter end à start, et te diviseras start par CLOCKS_PER_SEC.
Ce qu'il faut faire c'est une différence :
elapsed=((double)end-start)/CLOCKS_PER_SEC;