Ho qualcosa di simile:perché orologio C() restituisce 0
clock_t start, end;
start=clock();
something_else();
end=clock();
printf("\nClock cycles are: %d - %d\n",start,end);
e ottengo sempre come uscita "cicli di clock sono: 0-0"
Qualsiasi idea del perché questo accade ?
(Giusto per dare pochi dettagli, la funzione something_else() esegue un esponenziazione da sinistra a destra usando la rappresentazione montgomery, inoltre non so per certo che la funzione something_else() abbia effettivamente un tempo non trascurabile.)
Questo è su Linux. Il risultato di uname -a è:
Linux snowy.*****.ac.uk 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
Quale sistema operativo stai usando? – trojanfoe
Ho appena modificato la domanda per aggiungere questo dettaglio! –
'clock_t' probabilmente non è un' int', quindi '% d' non è appropriato. Vedi questa domanda: http://stackoverflow.com/questions/1083142/whats-the-correct-way-to-use-printf-to-print-a-clock-t. –