Temps d'éxecution.

NueclearSnake Messages postés 3 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 10 novembre 2007 - 9 nov. 2007 à 23:00
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 11 nov. 2007 à 15:25
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 nov. 2007 à 23:08
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++
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
9 nov. 2007 à 23:10
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;
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
9 nov. 2007 à 23:11
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.
0
NueclearSnake Messages postés 3 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 10 novembre 2007
10 nov. 2007 à 10:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
11 nov. 2007 à 15:25
gettimeofday ???

C++ (@++)<!--
0
Rejoignez-nous