#include #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; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionOui mais pour quoi,surtout quand je refais l’exécution (sans compiler ) ça diminue et tends pratiquement à s'annuler
j'ai remarqué que ça l air plus lent par rapport a l exécution sous Linux