AVR32

zoldnap at freemail.hu zoldnap at freemail.hu
Sat Mar 11 12:09:20 CET 2006


ez nem jo pelda, mert a DCT-hez MAC jellegu utasitasok kellenek, amit
viszont csak egy proci utasitaskeszletenek ismereteben lehet hatekonyan
kivitelezni es a JVM nem biztos hogy rajon, hogy ezekre kell forditani.
Ugyanugy, mint ahogy a C++ fordito sem biztos hogy felismeri ugyanezt a
szituaciot. Erre talaltak ki az assembly beteteket, amivel ki lehet
hozni a maximumot a procibol, es aztan az igy kodolt rutint mar lehet
hivogatni C++bol es Java-bol is, azonos sebesseggel.

On Sat, 2006-03-11 at 10:40 +0100, hoyuka wrote:
> Haliho!
> 
> Most nincs Java-m es nem tudtam kiprobalni, de persze itt lehet gyorsabb
> is elvileg masodszor a ciklusba mar be se kene hivni, mert mindig ugyanazt
> addja vissza :)
> 
> De nem lehetne valami eletszagubb peldan keresztul demonstralni, hogy a
> Java gyorsabb mint a C++? Pl. hogy van egy konyvtar, amiben van sok
> tomoritetlen RGB kep es tomoritse be oket vmi JPG (DCT+zig-zag+runlength
> encoding+huffman) szeru tomoritessel. Ugyanazt az algoritmust kellene
> megvalositani Java-aban is es C++-ban is.
> 
> udv.
> hoyuka
> 
> Auth Gábor said:
> > Halihó!
> >
> > hoyuka ezt írta:
> >> Erdekes ez a HotSpot futas idoben optimalizalasa, a Sun hibbant agyu
> >> managerei lehet kitalatak ilyet es a fejlesztokkel csinaltattak vmit
> >> legnagyobb fajdalmaik ellenere. Eleve halott dolog az egesz.
> >
> >   Nézzük. C program:
> > #include <stdio.h>
> >
> > int main()
> > {
> >   int szam=56385827;
> >   int count=2;
> >   for (count=2;szam%count;count++);
> >   printf("%d\n",count);
> >
> >   return 0;
> > }
> >
> >   Java program:
> > public class Proba
> > {
> >   public static void main(String[] args)
> >   {
> >     int szam=56385827;
> >     int count=2;
> >     for (count=2;szam%count!=0;count++);
> >     System.out.println(count);
> >   }
> > }
> >
> >   Futási idÅ&#8216;:
> >> time ./proba
> > 56385827
> >
> > real    0m0.722s
> > user    0m0.720s
> > sys     0m0.004s
> >> time java Proba
> > 56385827
> >
> > real    0m0.830s
> > user    0m0.748s
> > sys     0m0.016s
> >
> >   Látszik, hogy a Java program több ideig futott ~4 százalékkal, és
> > jelentÅ&#8216;s ideig eltartott, amíg a JVM elindul (+15%).
> >
> >   Variáljuk meg a programot azzal, hogy a prímszám meghatározását
> > 10x,
> > 50x és 100x futtassuk le, így szóhoz tud jutni a JIT és a HotSpot
> > is...
> > és nézzük csak az eredményt:
> > Futás  Nyelv      real        user       sys
> > 1x     C          0m0.722s    0m0.720s   0m0.004s
> > 1x     Java       0m0.830s    0m0.748s   0m0.016s
> > 10x    C          0m7.322s    0m7.196s   0m0.008s
> > 10x    Java       0m7.266s    0m7.048s   0m0.028s
> > 50x    C          0m36.468s   0m35.962s  0m0.008s
> > 50x    Java       0m35.732s   0m35.210s  0m0.036s
> > 100x   C          1m12.833s   1m11.864s  0m0.056s
> > 100x   Java       1m11.231s   1m10.328s  0m0.048s
> >
> >   Mindenki vonja le a saját szájízének megfelelÅ&#8216;
> következtetéseket.
> > Tudom, a számokból egyértelműen látszik, hogy iszonyatosan lassú a
> > Java.
> > --
> > http://www.enaplo.hu - Iskolai Információs Rendszer
> > Auth Gábor -=- FreeBSD 5.4 -=- http://bsd.lap.hu
> > +36-70/9400-341 -=- ICQ: 49179141 -=- Skype: authgabor
> >
> > -----------------------------------
> >  Szponzorunk: http://tonerbolt.hu/
> 
> 
-- 
zoldnap at freemail.hu <zoldnap at freemail.hu>




More information about the Elektro mailing list