Sulla base delle idee presentate in link ho implementato diversi "metodi di sospensione" diversi. Uno di questi metodi è stato il "sonno binario", che assomiglia a questo:Il metodo System.currentTimeMillis() restituisce realmente l'ora corrente?
while (System.currentTimeMillis() < nextTimeStamp)
{
sleepTime -= (sleepTime/2);
sleep(sleepTime);
}
Perché il controllo se il passo temporale successivo è già raggiunta avviene all'inizio ho, ci si aspetta che il metodo è in esecuzione troppo a lungo . Ma la distribuzione cumulativa dell'errore di simulazione (tempo atteso - tempo reale) è la seguente: alt text http://img267.imageshack.us/img267/4224/errorvscummulativearran.jpg
Qualcuno ha un'idea del motivo per cui ottengo questi risultati? Forse il metodo System.currentTimeMillis() in realtà non restituisce l'ora corrente?
BR,
Markus
@irreputable
Quando feci la valutazione ho anche creato una curva a campana utilizzando un programma di statistica tedesco. Perché non era possibile cambiare didascalia, qui è la definizione inglese di tutti gli elementi rilevanti:
Häufigkeit = frequenza
Fehler = errore
Mittelwert = media
Std-Abw = Deviazione standard
alt text http://img694.imageshack.us/img694/2254/bellcurve.jpg
Ho provato a fare una domanda su http://stackoverflow.com/questions/ask e ho copypasted il soggetto dell'argomento nella mia nuova domanda di test e mentre inserivo nel campo del messaggio, ho ottenuto un elenco di tutti (molto) rilevanti argomenti che già rispondono alla tua domanda. Mi stavo chiedendo se davvero l'hai notato e l'hai esplorato? – BalusC
Ohhh, hai ragione. Forse dovrei guardare più spesso argomenti correlati prima di scrivere una domanda :-) – Markus
+1 per la curva. sapevamo che non è preciso, ma è bello vedere qualche quantificazione. puoi fare una curva a campana? – irreputable