[Java lista] array

CoL col at gear.hu
2009. Dec. 10., Cs, 17:06:49 CET


Hali,

mutasd meg légyszi, ebben a kódban, hol okozhatna időmérési hibát a 
warmup period?

köszi
C.

Kristof Jozsa wrote:
> 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
>>
>>     
> _______________________________________________
> 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