Temps d'éxecution.

Signaler
Messages postés
3
Date d'inscription
mercredi 21 février 2007
Statut
Membre
Dernière intervention
10 novembre 2007
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour, j'iamerais calculer le temps d'exécution d'une de mes fonctions.
J'ai essayé et je trouve tout le temps 0;
J'ai donc enlevé toutes mes fonctions et je n'ai laissé que ce qui été nécessaire pour calculer le temps.
Voilà mon programme;

#include
#include "Matrice.hh"
#include "stdlib.h"
#include "time.h"
#include <fstream>

main()
{
  clock_t temps_initial;
  clock_t temps_final;
  float temps_cpu; 
  temps_initial=clock();
  temps_final=clock();
  temps_cpu=(temps_final-temps_initial);
  std::cout<<temps_initial;
  std::cout<<temps_final;
  std::cout<<temps_cpu;
}

Le programme donne cependant 0 0 0; (j'obtiens 1000 de temps en temps).
Pour le temps cpu ça pourrais se comprendre puisque rien ne s'exécute.
Mais pour le temps initial et le temps final ce n'est pas normal.
Pouvez vous m'expliquer s'il vous plaît.
Un grand merci par avance.

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Aucune précision à attendre de clock(), il faut utiliser les fonctions de haute précision du système.
QueryPerformanceCounter et QueryPerformanceFrequency sous Windows.

ciao...
BruNews, MVP VC++
Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
salut

si tu ne mets aucun appel de fonction entre les deux appels à clock c'est normal !

sinon pour avoir le temps en secondes.millisecondes
il faut faire temps_cpu=(float)(temps_final-temps_initial)/CLOCKS_PER_SEC;
Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
pardon j'ai oublié de mettre en lien http://www.cplusplus.com/reference/clibrary/ctime/clock.html
Returns the number of clock ticks elapsed since the program was launched.
Messages postés
3
Date d'inscription
mercredi 21 février 2007
Statut
Membre
Dernière intervention
10 novembre 2007

Merci de vos réponses.
Je vais essayer de voir avec ça.

Cependant moi je suis sous linux et j'aimerais avoir un temps précis du genre la milliseconde voir la microseconde..

Comment puis-je faire.
en vous remerciant par avance
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
gettimeofday ???

C++ (@++)<!--