Ciao!
Come faccio a misurare il tempo di esecuzione di un algoritmo?
Esiste qualche classe in java che misura il tempo?
Ho trovato la classe Time ma sinceramente non ho capito molto come usare i suoi metodi.
Qualche consiglio?
Grazie
Ciao!
Come faccio a misurare il tempo di esecuzione di un algoritmo?
Esiste qualche classe in java che misura il tempo?
Ho trovato la classe Time ma sinceramente non ho capito molto come usare i suoi metodi.
Qualche consiglio?
Grazie
nella System c'è currentTimeMillis
codice:long inizio = System.currentTimeMillis(); //algoritmo long fine = System.currentTimeMillis();
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Grazie!
Un'altra cosa dato che il risultato è : 1133984140781 millisecondi come faccio a convertirlo in secondi?
se quello che ti ritorna sono millisecondi vuol dire che ogni 1000 di quelli hai 1 secondo...quindi fai una banale divisione![]()
Ciao.![]()
Argh!!!!!!!!!!!
...è vero, non ci avevo mica pensato!!!
Grazie mille!![]()
ahem... a giudicare dai numeri, ti sei dimenticato di fare la sottrazione tra fine e inizio... stai calcolando un tempo di esecuzione, mentre il metodo che ti ho suggerito, chiama, ad ogni invocazione, il tempo trascorso da epoch (1970)... insomma, quelli sono 35 e passa anni![]()
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
giusto...mi sembravano un pò troppi!
posso chiederti come faccio a sistemarlo, cioè quanto devo sottrarre ad entrambi i numeri?
semplicemente prendi i millisecondi all'inizio dell'applicazione, e li riprendi alla fine poi sottrai la seconda rilevazione dalla prima e ottieni quanti millesecondi è durato il programma...poi converti in secondi!
Ciao.![]()
...non ci sto saltando fuori!![]()
facendo in questo modo:
Facendo coì mi dà 0. Dove sbaglio?codice:long inizio = System.currentTimeMillis(); //algoritmo long fine = System.currentTimeMillis(); long time=(inizio-fine)/1000; System.out.println(time + " sec");
Semplicemente perchè devi fare
e non il contrario!codice:long time=(fine-inizio)/1000;
Ciao.![]()