La funzione clock() restituisce il numero di cicli di clock dall'ultima chiamata della funzione. In <time.h> c'è anche una costante chiamata CLOCK_PER_SEC che fornisce il numero di clock per secondo per la piattaforma hardware e software che si sta usando.
In breve, se prima di iniziare il blocco di codice da cronometrare si memorizza in una variabile, ad esempio start, il valore restituito dalla clock() e dopo il codice si memorizza il valore restituito dalla clock in un'altra variabile, ed esempio end, si può ottenere il tempo di esecuzione calcolando (end-start)/CLOCK_PER_SEC.
Un semplice esempio dovrebbe chiarire le cose più di mille parole:
#include <stdio.h>Clock_t è un tipo definito in <time.h> per la memorizzazione dei cicli di clock o Tics.
#include <time.h>
#include <math.h>
int main() {
clock_t start = clock();
.
// blocco di codice da cronometrare
.
clock_t end = clock();
printf("Tempo di esecuzione = %f secondi \n", ((double)(end - start)) / CLOCKS_PER_SEC);
return 0;
}
Buona misurazione a tutti :)!
Nessun commento:
Posta un commento