PDA

Visualizza la versione completa : [C] Determinare il tempo di esecuzione di una funzione


Gjergji
11-12-2007, 17:23
come faccio a sapere quanto tempo impiega una certa funzione??? che funzione devo chiamare??
in pratica devo fare una roba del genere:

t1 = get_time();

funzione();

t2 = get_time();

time_occurred = t2 - t1;

che funzione devo richiamare, e sopratutto mi serve che il tempo sia in millisecondi.
grazie in anticipo

oregon
11-12-2007, 17:27
Dipende dal sistema operativo che usi ...


P.S. Ma cosa c'entra la funzione temp che hai indicato nel titolo ?

MItaly
11-12-2007, 17:27
Se vuoi il tempo in millisecondi devi usare API specifiche del sistema operativo... su che piattaforma stai lavorando?

Gjergji
11-12-2007, 17:29
windows svista :P

MItaly
11-12-2007, 17:46
Usa la API GetTickCount (includendo windows.h).

Gjergji
11-12-2007, 17:47
grazie

MItaly
11-12-2007, 17:51
Prego; ciao! :ciauz:

MacApp
11-12-2007, 20:59
Attenzione che:
http://msdn2.microsoft.com/en-us/library/ms724408.aspx


...the time will wrap around to zero if the system is run continuously for 49.7 days.

e.. guarda il caso, alcuni programmi "crashano" proprio dopo 49.7 giorni di utilizzo continuo.

andbin
11-12-2007, 21:12
Originariamente inviato da MacApp
Attenzione che:
http://msdn2.microsoft.com/en-us/library/ms724408.aspx

e.. guarda il caso, alcuni programmi "crashano" proprio dopo 49.7 giorni di utilizzo continuo. Vuol solo dire che il contatore "fa il giro" ripartendo cosė da 0. Se si usa questo contatore ad esempio per determinare la durata di funzioni o operazioni, un semplice confronto tra t1 e t2 permette di sapere e correggere il fatto che il contatore ha "fatto il giro".

MacApp
11-12-2007, 21:40
Originariamente inviato da andbin
Vuol solo dire che il contatore "fa il giro" ripartendo cosė da 0. Se si usa questo contatore ad esempio per determinare la durata di funzioni o operazioni, un semplice confronto tra t1 e t2 permette di sapere e correggere il fatto che il contatore ha "fatto il giro".

Dici poco.. purtroppo (o per fortuna) ho avuto a che fare con programmi, scritti da altri, che assumevano che la differenza tra t2 e t1 fosse sempre positiva, magari nel calcolo delle date di scadenza per certi prodotti industriali alimentari, ed alla meglio i programmi crashavano, alla peggio producevano una data di scadenza totalente sballata, tale da dover buttare via il prodotto (od i prodotti) generati, con danni economici che ti lascio immaginare.

Per fortuna (o per sfortuna) di suo windows spesso non resiste oltre la 40 ina di giorni..

Loading