[Dcmlib] clock vs times
Jean-Pierre Roux
jpr at creatis.insa-lyon.fr
Wed May 4 11:25:35 CEST 2005
Bonjour.
Qq'un saurait-il s'il existe en fonction C qui donne le temps d'exec
d'un bout de code?
- Deux appels de clock(), ca marche bien tant qu'on veut, par exemple
voir le temps d'exec d'une methode de tri (on voit facilement que trier
100 millions d'enregistrement, c'est plus long qu'en trier 10 milions)
S'il y a des I/O disque, c'est carrement moins terrible ....
- deux appels de times()
#include <sys/times.h>
clock_t times(struct tms *buf);
struct tms {
clock_t tms_utime; /* user time */
clock_t tms_stime; /* system time */
clock_t tms_cutime; /* user time of children */
clock_t tms_cstime; /* system time of children */
};
qui a l'air d'etre plus pertinent, ne renvoie pas des resultats
reproductibles :
Le code suivant (gdcm), pour de 'petits' fichiers,
renvoie 0 ou 1, mais toujours 'au meme endroit'
?!?
Thx
JPRx
filename = gdcmDataImages[i];
e1= new gdcm::File( );
r1 = times(&tms1);
e1->Load( filename );
r2 = times(&tms2);
delete e1;
e1= new gdcm::File( );
e1->SetLoadMode( NO_SEQ | NO_SHADOW );
r3 = times(&tms3);
e1->Load( filename );
r4 = times(&tms4);
delete e1;
std::cout << gdcmDataImages[i] << "\t\t "
<< (long) ((tms2.tms_utime) - (tms1.tms_utime))
<< "\t\t "
<< (long) ((tms4.tms_utime) - (tms3.tms_utime))
<< std::endl;
More information about the Dcmlib
mailing list