[Java lista] array

Kristof Jozsa kristof.jozsa at gmail.com
2009. Dec. 10., Cs, 21:54:22 CET


te valószínűleg nem érted miről beszélek.

K

2009/12/10 CoL <col at gear.hu>:
> Hali,
>
> akkor ezzel meg is válaszoltad, hogy nincs warmup mérési hiba. Ha
> összehasonlítod, az n* megismételt eredményeket, látni fogod, hogy az
> arányok kialakulnak, elképzelhető, hogy 1-2 alkalommal peak szerű
> eredményed lesz, de az átlagot nézve pont, hogy megkapod amit akartál a
> microbenchmarkoddal.
>
> Mit javasolsz a microbenchmarkok helyett, ha szerinted mégsincs
> létjogosultságuk?
>
> C.
>
> Kristof Jozsa wrote:
>> Szia,
>>
>> a rövid válasz h akárhol.. a hosszabb választ megkaphatod egyszerűen
>> ha pl végtelen ciklust csinálsz a mainből, hagyod futni, megnézed a
>> log elejét/végét, kiszámítod az általad szignifikánsnak tartott
>> szeletekből az átlagokat, az egészet megismétled n-szer és
>> összehasonlítod. Érték szerint biztosan különböző lesz az eleje meg a
>> vége, arányaiban meg bőven lehetséges, de nem tudhatod amíg meg nem
>> nézted.
>>
>> K
>>
>> 2009/12/10 CoL <col at gear.hu>:
>>
>>> 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
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> 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
>>
>>
> _______________________________________________
> 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