Temps d'exécution d'instructions

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 056 fois - Téléchargée 36 fois

Contenu du snippet

Simple code pour compter le temps qu'ont mis des instructions avant d'être exécution. Utilisation de GetTickCount()

Source / Exemple :


#include <stdio.h>
#include <iostream.h>
#include <windows.h>

int main(int argc, char* argv[])
{
	int st = GetTickCount();
	
	//instructions à chrono. Ici un cout et un Sleep
	cout << "abcdefghijklmnopqrstuvwxyz" << endl;

	Sleep(1000); // pour ne pas aoir un tps d'exec = 0
	int stop = GetTickCount();
	
	char *s = new char[50];
	sprintf(s,"Executed in %d ms",stop-st);
	
	cout << s << endl;
	
	delete[] s;
	return 0;
}

Conclusion :


La fonction GetTickCount est définie dans <winbase.h>, mais incluez <windows.h> parce qu'il y a des définitions nécessaire à winbase.
Attention éviter d'inclure window.h avec une application MFC, une erreur de précompilation (windows.h already include ...) peut apparaître.
Compatible avec .NET

A voir également

Ajouter un commentaire Commentaires
cs_Light Angel Messages postés 48 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 1 janvier 2005
19 juil. 2004 à 14:09
Et les standard C++, t'en fait koi :

#include
#include <windows.h>
#include <stdio.h>
using namespace std;

C'est pratiquement rien, mais bon ...
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
7 mars 2003 à 14:20
c'est pas pour faire de la pub[mais un peu qd même :)] mais j'ai donné sur le site une explication de l'utilisation de QueryperformanceCounter() qui est qd même bien meilleur que GetTickCount, mais bon l'utilisation de GetTickCount peut être suffisante pour des routines qui prennent plus de 10sec
voilà le lien :
http://www.cppfrance.com/article.aspx?Val=1263
A+
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
6 mars 2003 à 14:19
Honnêtement pour connaître le temps d'exécution d'une portion de code, j'y vais au profiler de VC++
Comme le dit Brunews, GetTickCount() c'est très bof
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
6 mars 2003 à 13:53
Desole, GetTickCount() n'a AUCUNE precision.
La seule methode de temps precise:
QueryPerformanceFrequency() QueryPerformanceCounter().

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.