begin process at 2012 05 30 18:37:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

temps de calcul


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

temps de calcul

jeudi 12 mai 2011 à 14:43:29 | temps de calcul

elhajjajireda

Bonjour,
si le vous plait j'ai une fonction qui permet d'extraire les points d'intérêt dans une image et je veux mettre un code ou bien une foction de c++ qui permet de donner le temps de calcul dans cette fonction, donc svp est ce qu'il y a quelqu'un qui a une idée.

merci
jeudi 12 mai 2011 à 15:26:39 | Re : temps de calcul

CptPingu

Administrateur CodeS-SourceS
Je te propose la classe suivante, qui répond à ton besoin (Linux seulement, pour Windows, il faut l'adapter):
Code C/C++ :
#include <iostream>
#include <sstream>
#include <ctime>
#include <sys/time.h>

class ScopeElapsedTime
{
public:
  ScopeElapsedTime()
    : origin_("")
  {
    gettimeofday(&begin_, &tz_);
  }

  ScopeElapsedTime(const std::string& origin)
    : origin_(origin)
  {
    gettimeofday(&begin_, &tz_);
  }

  ~ScopeElapsedTime()
  {
    std::ostringstream buff;
    gettimeofday(&end_, &tz_);
    long time = (end_.tv_sec - begin_.tv_sec) *
      1000000L + (end_.tv_usec - begin_.tv_usec);
    if (!origin_.empty())
      buff << "[" << origin_ << "]";
    buff << "Elapsed time: " << time << " us" << std::endl;

    std::cout << buff.str();
  }

private:
  std::string origin_;
  struct timeval begin_, end_;
  struct timezone tz_;
};

void fonction()
{
  ScopeElapsedTime timer("Fonction"); // Calcul le temps que met la fonction à s'exécuter
}

void autreFonction()
{
  ScopeElapsedTime timer("AutreFonction"); // Calcul le temps que met la fonction à s'exécuter
}


int main()
{
  ScopeElapsedTime timer("Application"); // Temps mis par l'application en entière
  fonction();

  {
    ScopeElapsedTime timer("Les Deux"); // Calcul du temps mis pour les fonctions englobées, pour s'exécuter.
    fonction();
    autreFonction()
  }
  return 0;
}


________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
jeudi 12 mai 2011 à 17:46:55 | Re : temps de calcul

elhajjajireda

Merci
mais justement je travail sous windows comment je dois l adapter
jeudi 12 mai 2011 à 18:06:19 | Re : temps de calcul

CptPingu

Administrateur CodeS-SourceS
Il te faut utiliser l'équivalent de gettimeofday pour Windows. Il me semble que c'est à base de "QueryPerformanceCounter".
Un lien intéressant:
http://forum.hardware.fr/hfr/Programmation/C-2/gettimeofday-sous-sujet_83723_1.htm

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
vendredi 13 mai 2011 à 08:42:09 | Re : temps de calcul

louis14


Bonjour,
si tu es sous .NET en plus (d'après la rubrique), il y a des objets du type System.Diagnostics.Stopwatch :
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=FR-FR&k=k(SYSTEM.DIAGNOSTICS.STOPWATCH);k(SYSTEM);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true

avec un exemple

louis
dimanche 15 mai 2011 à 23:46:08 | Re : temps de calcul

elhajjajireda

j'ai utilisé la fonction difftime et GetTickCount() , mais je ne comprend pas pour quoi le temps d'execution change chaque fois , alors que le code est le meme; en plus ce n'est pas le meme sous Linux ?
lundi 16 mai 2011 à 00:21:19 | Re : temps de calcul

CptPingu

Administrateur CodeS-SourceS
Le temps ne peut jamais être toujours le même. Il y a toujours un écart de quelques microsecondes.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
lundi 16 mai 2011 à 14:38:04 | Re : temps de calcul

elhajjajireda

Oui mais pour quoi,surtout quand je refais l&#8217;exécution (sans compiler ) ça diminue et tends pratiquement à s'annuler
d autre part j'ai remarqué que ça l air plus lent par rapport a l exécution sous Linux
lundi 16 mai 2011 à 15:19:37 | Re : temps de calcul

CptPingu

Administrateur CodeS-SourceS

Oui mais pour quoi,surtout quand je refais l&#8217;exécution (sans compiler ) ça diminue et tends pratiquement à s'annuler


Aucune idée. Est-ce que Windows ne mettrais pas ton binaire en cache, parce qu'il s'est aperçu que tu l'utilisais souvent ? C'est une optimisation qui expliquerait ce comportement.

j'ai remarqué que ça l air plus lent par rapport a l exécution sous Linux


Tu n'as peut être pas compilé avec le même compilateur, ou avec les mêmes options de compilation.

Je ne suis pas un expert Windows, loin de là, mais il me semble que "GetTickCount" est bien moins fiable que "QueryPerformanceCounter".

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question


Cette discussion est classée dans : fonction, temps, permet, calcul


Répondre à ce message

Sujets en rapport avec ce message

faire une boucle avec un temps d'attente ? [ par andrealphus ] 4ndr&@lphu$slt encore...voila cette fois ci je voudrais récupérer des données, via une fonction que je connais déja, tous les X temps...j'envisage dc méthodes temporelles [ par funkadelic ] J'aimerai tout simplement boucler sur une fonction pendant un temps t du style "while ( temps_ecoule != temps_voulu ) fonction_run();Quelqu'un connait Calcul du temps de chargement d'un prog... [ par MorZong ] Salut,Encore moi, je suis partout, là c'est pour me dire comment faire pour calculer le temps (en millisecondes si c'est possible) qu'a prit un progr Fonction atoi [ par LordBob ] Salut, en fait je voudrai savoir si la fonction atoi permet bien de transformé une chaine de caractere entré par un utilisateur par exemple en son eq Calcul de la fonction Gamma (ou son logarithme) [ par PeteTheBull ] Bonjour Je cherche un code qui calcule la fonction gamma(double). Je cherche une précision énorme (10e-15 au moins). Quelqu'un aurait-il un lien a Chronometrer le temps d'éxecution d'une fonction en C [ par poiuytrez3 ] Bonjour, je cherche comment chronometrer le temps d'éxecution d'un tri. Je sais qu'il faut utiliser le fichier time.h avec la fonction time(), j'ai e creation de box [ par mycameleon ] salut tout le monde je cherche une fonction qui me permet de réaliser avec le langage c++un cadre ou un (Box).et aussi si possible une fonction qui me fonction qui permet de convertir un chiffre en lettre [ par hajarussa ] salut , Je voudrais realiser une fonction qui permet de realiser la conversion d'un chiffre en lettres , s'ils vous plait si vous pouvez m'aider n'hes Fonction calcule temps entre deux évenements [ par h_adil ] Bonjourje cherche une fonction en C++ qui permet de calculer le temps entre deux évenements par exemple le temps entre l'appuis entre touche.cordialem CALCUL TEMPS CPU [ par maloudre ] salut a tous j aimerai connaitre de facon simlpe combien de tps calcul mon cpu tourne pendant qe mon logiciel de calcul tourne c un programme de cal


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales