Dav82
28-07-2004, 19.28.35
Ragazzi, mi serve un aiuto! :(
Non riesco ad avere dei risultati decenti dalla funzione System.currentTimeMillis(). Sembra che conosca solo i multipli di 15 o 16. Dopo un'oretta di test vari (per il benchmark, non è ancora finito eh! :p) mi sono venuti un po' di dubbi sul suo funzionamento e in effetti... ho buttato giù ste due righe per aver conferma:
public static void main(String[] args) {
long inizio = 0;
long fine = 0;
Object a = null;
for (int j=0; j<30; j++){
inizio = System.currentTimeMillis();
System.out.print(inizio + " ");
for (long i=0; i<(100000 + j*3000); i++)
a = new Object();
fine = System.currentTimeMillis();
System.out.println(fine);
System.out.println(j + " " + (fine-inizio));
}
}
e questo è l'output:
1091031872828 1091031872843
0 15
1091031872843 1091031872843
1 0
1091031872843 1091031872843
2 0
1091031872843 1091031872859
3 16
1091031872859 1091031872859
4 0
1091031872859 1091031872859
5 0
1091031872859 1091031872859
6 0
1091031872859 1091031872859
7 0
1091031872859 1091031872859
8 0
1091031872859 1091031872875
9 16
1091031872875 1091031872875
10 0
vi risparmio la continuazione dell'output tanto ci siamo capiti... non riesce a conteggiare i millisecondi, ma va a salti di 15 o 16...
Che cosa posso fare??? :(
Non riesco ad avere dei risultati decenti dalla funzione System.currentTimeMillis(). Sembra che conosca solo i multipli di 15 o 16. Dopo un'oretta di test vari (per il benchmark, non è ancora finito eh! :p) mi sono venuti un po' di dubbi sul suo funzionamento e in effetti... ho buttato giù ste due righe per aver conferma:
public static void main(String[] args) {
long inizio = 0;
long fine = 0;
Object a = null;
for (int j=0; j<30; j++){
inizio = System.currentTimeMillis();
System.out.print(inizio + " ");
for (long i=0; i<(100000 + j*3000); i++)
a = new Object();
fine = System.currentTimeMillis();
System.out.println(fine);
System.out.println(j + " " + (fine-inizio));
}
}
e questo è l'output:
1091031872828 1091031872843
0 15
1091031872843 1091031872843
1 0
1091031872843 1091031872843
2 0
1091031872843 1091031872859
3 16
1091031872859 1091031872859
4 0
1091031872859 1091031872859
5 0
1091031872859 1091031872859
6 0
1091031872859 1091031872859
7 0
1091031872859 1091031872859
8 0
1091031872859 1091031872875
9 16
1091031872875 1091031872875
10 0
vi risparmio la continuazione dell'output tanto ci siamo capiti... non riesce a conteggiare i millisecondi, ma va a salti di 15 o 16...
Che cosa posso fare??? :(