[Java lista] array
Tamás Viktor
viktor.tamas at gmail.com
2009. Dec. 10., Cs, 15:43:38 CET
Osszedobtam egy kis kodot, ime az eredmenye:
Konstruktor: 1412
Array fill: 465
Sajat fill: 458
ArrayCopy: 388
Tehat az arrayCopy nyer. Figyeljetek meg a hasznalatat, nem kell hozza ket tomb.
V
public class A {
static final int M = 1000000;
static final int N = 256;
public static void main(String[] args) throws Exception{
t1();
t2();
t3();
t4();
}
private static void t1() {
long t0 = System.currentTimeMillis();
int[] array;
for(int i=0;i<M;i++) {
array = new int[N];
array = null;
}
long t1 = System.currentTimeMillis();
System.out.println("Konstruktor: " + (t1-t0));
}
private static void t2() {
long t0 = System.currentTimeMillis();
int[] array = new int[N];
for(int i=0;i<M;i++) {
java.util.Arrays.fill(array, 0);
}
long t1 = System.currentTimeMillis();
System.out.println("Array fill: " + (t1-t0));
}
private static void t3() {
long t0 = System.currentTimeMillis();
int[] array = new int[N];
for(int i=0;i<M;i++) {
for(int j=0;j<N;j++) array[j] = 0;
}
long t1 = System.currentTimeMillis();
System.out.println("Sajat fill: " + (t1-t0));
}
private static void t4() {
long t0 = System.currentTimeMillis();
int[] array = new int[N];
for(int i=0;i<M;i++) {
array[0] = 0;
System.arraycopy(array, 0, array, 1, array.length-1);
}
long t1 = System.currentTimeMillis();
System.out.println("ArrayCopy: " + (t1-t0));
}
}
További információk a(z) Javalist levelezőlistáról