[Java lista] array
Kristof Jozsa
kristof.jozsa at gmail.com
2009. Dec. 10., Cs, 16:42:52 CET
warmup period? hagyjuk már az ilyen microbenchmarkokat..
K
2009/12/10 Tamás Viktor <viktor.tamas at gmail.com>:
> 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));
> }
> }
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
További információk a(z) Javalist levelezőlistáról