[c++] temps d'execution

temps d'execution [c++] - Programmation

Marsh Posté le 20-03-2002 à 23:47:52    

comment calculer le temps d'execution d'un bout de code en millisecondes minimum?


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 20-03-2002 à 23:47:52   

Reply

Marsh Posté le 21-03-2002 à 08:55:24    

Si t sous windows, t'as GetSystemTime (LPSYSTEMTIME lpSystemTime);
qui est à la miliseconde près.
Et t'as VOID GetSystemTimeAsFileTime (LPFILETIME lpSystemTimeAsFileTime);
à la nanoseconde près
 
les 2 te donne un temps à un moment précis. T'en fait un avant, un après, et tu fait la différence des 2.

Reply

Marsh Posté le 21-03-2002 à 08:57:52    

:jap: je vais essayer avec ca :)


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 08:59:15    

c quelle biblio?


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 09:06:52    

si t'es sous Linux, UNIX & Co, il y a la commande time :  
time -p le_nom_de_ton_programme


---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/
Reply

Marsh Posté le 21-03-2002 à 09:07:56    

mais je suis bien sous windows, c quoi la biblio? et le type de  LPSYSTEMTIME?


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 09:29:09    

t'as pas une documentation !? la MSDN genre...

Reply

Marsh Posté le 21-03-2002 à 13:03:59    

El_Gringo a écrit a écrit :

t'as pas une documentation !? la MSDN genre...  




bah je vais la réinstaller :/


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 14:55:37    

Si tu veux pas te prendre le choux y'a GetTickCount ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-03-2002 à 15:00:34    

HelloWorld a écrit a écrit :

Si tu veux pas te prendre le choux y'a GetTickCount ...  




et? Ca marche comment safaikwa?


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 15:00:34   

Reply

Marsh Posté le 21-03-2002 à 15:10:00    

Ca te renvoit le nombre de millisecondes ecoulees depuis le demarrage de Windows.

Code :
  1. int Start, Time;
  2.     Start = GetTickCount();
  3.     ...
  4.     // routine à tester
  5.     ...
  6.     Time = GetTickCount() - Start;


 
Voila, t'as le temps :)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-03-2002 à 15:11:04    

:jap: je vais essayer


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 15:16:21    

et c dans quoi? winbase.h? Paske au linking ca chie merveilleusement  :cry:


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 21-03-2002 à 15:38:06    

...
faut chercher un piti peu quand meme
deux clics dans le win32.hlp ou dans la msdn te donnes la reponses ;)
il me semble que windows.h suffit
http://source.winehq.org/WineAPI/GetTickCount.html
 
en plus si ça chie au link et pas a la compile, le probleme est ailleurs (lib non incluses ... !!! :??:)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-03-2002 à 15:52:44    

http://msdn.microsoft.com/library/ [...] s_4z76.asp
 
http://msdn.microsoft.com/library/ [...] s_6mk9.asp
 
et ça doit utiliser l'instruction RDTSC, donc tu auras difficilement plus précis....

Reply

Marsh Posté le 21-03-2002 à 15:54:11    

(d'ailleurs tu devrais retrouver la fréquence cpu avec QueryPerformanceFrequency)

Reply

Marsh Posté le 21-03-2002 à 16:06:07    

a bah non, c le timer rapide du pc qui utilisé => 1.19 mhz
c bin ce que je trouvais :D
 
http://www.bitbanksoftware.com/code4.htm

 

[jfdsdjhfuetppo]--Message édité par bjone--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 24-03-2002 à 10:52:58    

HelloWorld a écrit a écrit :

...
faut chercher un piti peu quand meme
deux clics dans le win32.hlp ou dans la msdn te donnes la reponses ;)
il me semble que windows.h suffit
http://source.winehq.org/WineAPI/GetTickCount.html
 
en plus si ça chie au link et pas a la compile, le probleme est ailleurs (lib non incluses ... !!! :??:)  




 
merci  :jap:


---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection
Reply

Marsh Posté le 24-03-2002 à 12:34:50    

bjone a écrit a écrit :

http://msdn.microsoft.com/library/ [...] s_4z76.asp
 
http://msdn.microsoft.com/library/ [...] s_6mk9.asp
 
et ça doit utiliser l'instruction RDTSC, donc tu auras difficilement plus précis....  




 
RDTSC ca te renvoie pas le nombre de cycle écoulé  ?
Qu'est ce que tu veux timer avec ca ? (je veux dire, le nombre de cycle, c pas une mesure de tps pratique, et vu que la durée d'un cycle varie d'un pc a l'autre ... :/ )

Reply

Marsh Posté le 24-03-2002 à 23:27:15    

et bin tu mesures avec RDTSC ce qui se passe entre deux coups de timers rapide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed