Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1168 connectés 

  FORUM HardWare.fr
  Programmation
  C

  obtention du temps en millisecond en C,C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

obtention du temps en millisecond en C,C++

n°813704
david81
Posté le 03-08-2004 à 14:59:17  profilanswer
 

Bonjour a tous,
 
J'aimerais obtenir le temps d'execution d'un bout de code en milliseconde. Malheureusement la librairie time.h ne permet d'obtenir que le temps en seconde, ce qui n'est pas suffisamment precis dans mon cas.
 
D'autres librairies permettent elles cela?
 
Merci d'avance.

mood
Publicité
Posté le 03-08-2004 à 14:59:17  profilanswer
 

n°813709
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-08-2004 à 15:04:12  profilanswer
 

tu bosses sous quel OS ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°813781
cricri_
Posté le 03-08-2004 à 15:30:24  profilanswer
 

Sous windows : TimeGetTime() ou GetTickCount() je crois

n°813792
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-08-2004 à 15:33:19  profilanswer
 

sinon en assembleur, t'as le redoutable RDTSC qui te refile le nombre de cycles d'un bout de code !
en faisant le ration RDTSC/fréquence du processeur, on obtient une mesure imparable :D


---------------
J'ai un string dans l'array (Paris Hilton)
n°813861
bjone
Insert booze to continue
Posté le 03-08-2004 à 16:16:03  profilanswer
 

sous Windows, comme dit harko, RDTSC et/ou QueryPerformanceCounter() (RDTSC variant suivant le CPU et son état, l'autre est invariant)

n°813864
david81
Posté le 03-08-2004 à 16:19:46  profilanswer
 

merci pour vos reponses,
 
je suis sous une redhat 9.0
 
Par contre je ne pense pas qu'un top d'horloge corresponde a un cycle processeur, donc je ne crois pas qu'on puisse en deduire le temps d'execution avec le ratio nb cycle/frequence processeur.


Message édité par david81 le 03-08-2004 à 16:21:32
n°813876
bjone
Insert booze to continue
Posté le 03-08-2004 à 16:32:29  profilanswer
 

pour nunux, peut être gettimeofday():
 
http://www.rt.com/man/gettimeofday.2.html
 
et là tu as des mecs qui parlent de projet sur sourceforge:
 
http://www.ussg.iu.edu/hypermail/l [...] /0103.html

n°813890
david81
Posté le 03-08-2004 à 16:44:40  profilanswer
 

merci pour tout,
 
je vais de ce pas essayer gettimeofday et la comparer avec les autres solutions que j'ai pour voir laquelle se rapproche le mieux de la realite.

n°813902
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-08-2004 à 16:57:01  profilanswer
 

david81 a écrit :

merci pour vos reponses,
 
je suis sous une redhat 9.0
 
Par contre je ne pense pas qu'un top d'horloge corresponde a un cycle processeur, donc je ne crois pas qu'on puisse en deduire le temps d'execution avec le ratio nb cycle/frequence processeur.


ben si !
exemple pour un processeur à 1 Ghz (soit 1 000 000 000 de cycles par secondes)
si RDTSC t'indique qu'une portion de code prend 200 000 cycles, alors le temps sera de 200 000/1 000 000 000 = 0,0002 secondes, soit 0,2 ms [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
n°814116
printf
Baston !
Posté le 03-08-2004 à 20:04:24  profilanswer
 

La fréquence elle bouge pas :??:


---------------
Un matin je me lèverai et il fera beau.
mood
Publicité
Posté le 03-08-2004 à 20:04:24  profilanswer
 

n°814121
schnapsman​n
Zaford Beeblefect
Posté le 03-08-2004 à 20:07:50  profilanswer
 

ça dépends de la puissance de ta carte graphique, la tienne doit être trop puissante (si tu veux j'ai une vieille matrox en stock [:cupra])


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°814136
printf
Baston !
Posté le 03-08-2004 à 20:19:07  profilanswer
 

J'ai une Riva TNT² :D


---------------
Un matin je me lèverai et il fera beau.
n°814258
cricri_
Posté le 03-08-2004 à 22:10:00  profilanswer
 

moi une ATI 9800 ...  :pt1cable:  
Mai j' ai aussi de vieilles cartes avec 1 Mo de mem ...   :lol:  :whistle:

n°814259
schnapsman​n
Zaford Beeblefect
Posté le 03-08-2004 à 22:12:52  profilanswer
 

je suis con, en fait je voulais poster ma réponse à la con là:
http://forum.hardware.fr/hardwaref [...] 5930-1.htm
[:ddr555]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°814260
printf
Baston !
Posté le 03-08-2004 à 22:14:56  profilanswer
 

Boulet :o


---------------
Un matin je me lèverai et il fera beau.
n°814408
bjone
Insert booze to continue
Posté le 04-08-2004 à 02:32:18  profilanswer
 

:lol: le relou.
 
pour en revenir au RDTSC, la fréquence peut bouger avec des cpus de portables, ou des Athlon 64 en Cool & Quiet (enfin je crois).
 

n°814423
printf
Baston !
Posté le 04-08-2004 à 08:23:02  profilanswer
 

C'est bien ce qui me semblait :/


---------------
Un matin je me lèverai et il fera beau.
n°814704
david81
Posté le 04-08-2004 à 13:06:38  profilanswer
 

ok merci je vais me pencher sur la solution de RDTSC et voir ce que ca donne.

n°815171
bjone
Insert booze to continue
Posté le 04-08-2004 à 18:21:16  profilanswer
 

bah le mieux, ce serait de mesurer périodiquement la fréquence  CPU (du style toutes les 10ms tu recalcules la fréquence CPU), comme ça fait un truc exploitable sur les PC portables et les systèmes qui font varier la fréquence CPU.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  obtention du temps en millisecond en C,C++

 

Sujets relatifs
Preloader avec affichage du temps restantIntervalle de temps requete SQL
[C] Fermeture application après un certain tempsDu temps réel online avec Perl : CGI forcément ?
Addtionner des temps en PHPpb de requetes prenant du temps
calcul le temps de l installationExecuter un script à intervalle de temps régulier sans être gourmand
[Batch] Script pour mesurer le temps de lancement d'une application[Delphi 6] Pb : executer une procédure apres un temps d'inactivité
Plus de sujets relatifs à : obtention du temps en millisecond en C,C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR