DlaczegoDlaczego czas na tablicy initialize innym
long t = System.currentTimeMillis();
int size = 3333333;
int[][][] arr = new int[size][6][2];
// int[][][] arr= new int[2][6][size];
pr(System.currentTimeMillis() - t);
drukuje 5000 ms
ale
long t = System.currentTimeMillis();
int size = 3333333;
// int[][][] arr = new int[size][6][2];
int[][][] arr= new int[2][6][size];
pr(System.currentTimeMillis() - t);
drukuje 44 ms
Drugie rozwiązanie 115 czas szybciej
Jak uruchomić ten fragment kodu? czy mógłbyś opublikować całą metodę? Ile razy je uruchamiasz? Ile uruchomiłeś początkowych cykli? Benchmarking operacji Java nie jest rzeczą banalną ... – ppeterka
Zobacz: http://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java - The way are are wykonanie tego prawdopodobnie nie przyniesie znaczących rezultatów. –