|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 103
|
calcolo tempi di esecuzione
Salve ragazzi devo fare un confronto tra algoritmi per quanto riguarda la misura dei tempi di esecuzione e vorrei farlo in java sapete dirmi come fare a valutare il tempo di esecuzione del programma?
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
cmq devi usare il tempo: for(int i=0; i<10000; i++){ //calcola il tempo per il ciclo float newTime = time(); float dt = newTime - currentTime; currentTime = newTime; t += dt; } t è il tempo trascorso in secondi totali for(int i=0; i<100; i++){ //calcola il tempo per il ciclo float newTime = time(); float dt = newTime - currentTime; currentTime = newTime; t1 += dt; } t1 è il tempo trascorso in secondi totali ora confronta t e t1 |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
in Java:
Codice:
long inizio = System.currentTimeMillis();
// qui fai la chiamata al metodo che devi misurare
long millis = System.currentTimeMillis()-inizio;
millis è misurato in millisecondi. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 103
|
ma in c++ il tempo calcolato è in secondi o millisecondi
? perchè a me servirebbe in millisecondi |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
fai così: dwSecondi = (timeGetTime() - m_dwStartT) / 1000; //secondi if(dwSecondi>0) dwDecimi = (timeGetTime() - dwSecondi)% 10; ... ora avendo i secondi totali puoi ottenere anni, mesi, giorni, ore, secondi e millisecondi facendo gli opportuni calcoli. per ottenere da subito i millisecondi puoi aggiungere ulteriormente sotto l'if e ancora fare: dwCentesimi = (timeGetTime() - dwDecimi) % 100;//centesimi di secondo dwMillesimi = (timeGetTime() - dwCentesimi) % 1000;//millesimi di secondo ... stampa i valori a video magari separati da un punto a 2 cifre peri sec 2 cifre per icentesimi e 3 cifre per i millesimi. Edit: per azzerare fai: if (dwSecondi>60){ dwSecondi=0; m_dwStartT=0; m_dwStartT = timeGetTime(); //time start secondi } p.s. dillo che ti devo dire tutto... e vaì!! ciao e buon anno Ultima modifica di okay : 02-01-2006 alle 20:20. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:27.



















