» »

Java v Linuxu hitrejša

Java v Linuxu hitrejša

The inquirer - Še en povod za novo sveto vojno bo zagotovo podatek, da v Linuxu Java teče hitreje kot v Windows. Na strani Phoronix so na prenosniku Dell Inspiron 1525 s procesorjem Intel Core 2 Duo T5800 z 2,0 GHz, s 3 GB DDR2-pomnilnika, 250 GB Hitachijevim diskom in Intelovo grafično kartico 965, na katerem so Javo pognajali v operacijskih sistemih Windows Vista Home Premium SP1 in Ubuntu 8.10 s privzetimi verzijami programja (jedro 2.6.27, X Server 1.5), izvedli nekaj testov, ki so dali zanimive rezultate. Pognali so Sunflow Rendering System, Bork File Encrypter, Java SciMark in Java 2D Microbenchmark ter ugotovili, da je Java v Linuxu bistveno hitrejša (tudi do trikrat). Samo v zadnjem testu se je Windows odrezal bolje, kar pripisujejo slabim Intelovim grafičnih gonilnikom za Linux.

27 komentarjev

Bistri007 ::

> Še en povod za novo sveto vojno bo zagotovo podatek, da v Linuxu Java teče hitreje kot v Windows.

Seveda bi morali za kako resno primerjavo v OS mix vključiti še (Open)Solaris, mogoče še na UltraSPARC platformi.
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...

WhiteAngel ::

Valda, saj je Linux itak boljši! :)

MrStein ::

Iz linkanega članka:
[lower linux result in 2D microbenchmark] likely attributed to the Intel graphics stack on Linux having little in the way of performance optimizations

Eh, a ni Intel gfx driver najboljši med free gfx driverji ?

Dalje:
This though should improve vastly with time considering the invasive work currently taking place within the X.Org / Mesa community

Ja ja, ampak naslednja verzija pa bo res. Poznamo to pesem še predobro.
World domination !
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

MrStein ::

With Windows Vista Premium we were using Java 1.6.0_07, with the JVM being Java HotSpot VM build 10.0-b23. The official Java build we were using on Linux was Java 1.6.0_10 with the Java HotSpot VM build 11.0-b15.

Kak fajn je marmelada iz jabolk in pomaranč !
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

MrStein ::

Razen tega je na linux bil v uporabi server VM, na Windows pa client VM.

To niti ni sadje-vs-sadje, ampak primerjava bencina s pokerjem :\
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

vbohinc ::

Samo v zadnjem testu se je Windows odrezal bolje, kar pripisujejo slabim Intelovim grafičnih gonilnikom za Linux.


Tole bi bilo potrebno popraviti na:
Samo v zadnjem testu se je Windows odrezal bolje, kar pripisujejo slabim Intelovim grafičnim karticam, ki niso v skladu z OpenGL specifikacijo.


Z Intelove strani - LINK:
The integrated graphics controller of the Intel® 946GZ, Q963, and Q965 Express Chipsets support hardware acceleration of OpenGL* applications in 16-bit and 32-bit color depths. OpenGL* 1.4 plus extensions is the latest version currently supported by the Intel® Graphics Media Accelerator Drivers on these chipsets.


Podpora za OpenGL 1.4 - aktualna verzija je pa OpenGL 2.1 - pripravlja se pa OpenGL 3.0 = strojna implementacija-podpora s strani proizvajalcev grafičnih kartic ne API-ja, da ne bo pomote...
Human nature is not a machine to be built after a model, and set to
do exactly the work prescribed for it, but a tree, which requires to grow
and develop itself on all sides...

Zgodovina sprememb…

  • spremenil: vbohinc ()

arjan_t ::

aktualna je 3.0, pripravlja se 3.1

arjan_t ::

Razen tega je na linux bil v uporabi server VM, na Windows pa client VM.
To niti ni sadje-vs-sadje, ampak primerjava bencina s pokerjem :\


server je samo openJDK

infiniteLoop ::

Sicer ce so res primerjali razlicne verzije JVM je razsikava res bolj tako-tako. Lahko pa iz lastnih izkusenj povem, da za "buildanje" projekta na katerem delam porabim (furam Ubuntu 8.10) cca tretjino manj casa kot sodelavec na windows XP.

Po drugi strani pa ne morem kaj, da ne bi omenil, da mi kakrsekoli applet trenutno brez izjem vsuje Firefox (v 8.04 je bilo vse tip-top). Uporabljam Sunov JVM in predvidevam, da problem ni v pluginu, ker v Operi delajo stvari brez problema.
None of us is as dumb as all of us.

rgv45vg4t335 ::

Razen tega je na linux bil v uporabi server VM, na Windows pa client VM.

To niti ni sadje-vs-sadje, ampak primerjava bencina s pokerjem :\


Server VM, client VM? O čem ti to govoriš???
...
With Windows Vista Premium we were using Java 1.6.0_07, with the JVM being Java HotSpot VM build 10.0-b23. The official Java build we were using on Linux was Java 1.6.0_10 with the Java HotSpot VM build 11.0-b15.
...
MSI K9A2 Platinum@260MHz, Athlon X2 4850e@3GHz, 4GB RAM@1000MHz
Radeon HD 4850

MrStein ::

arjan_t:
server je samo openJDK

Sun JRE ima dva "engina", klient in server.
Na Windows se po defoltu uporabi klient verzija, na linux pa server, če ima sistem vsaj dva CPU jedra in 2 GB RAM-a, sicer klient. Testni PC je bil dual-core z 3 GB RAM-a.


Glede Intel grafe in OpenGL podpore (ter pomanjkanje tega v HW):
- Jah in ? A pod Windows pa je karta magično dobile te sposobnosti ?
- test je 2D. Kaki 3D fičrji pa bi naj manjkali ....


bernardv:
Server VM, client VM? O čem ti to govoriš???

Vsak dan zvemo nekaj novega
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

arjan_t ::

test je imo čisto vredu zastavljen, kaj dobiš ko namestiš javo na sistem
čisto vseeno je če ena uporablja client in ena server VM ...

dbevfat ::

ni vseeno, ker je server VM hitrejši za ceno daljšega startup časa in večje porabe rama.
nvr2fat

vbohinc ::

Da pomanjkanje podpore, podpora samo za OpenGL 1.4 + razširitve (in to v strojni opremi), kar pomeni počasnejše delovanje zaradi slabšega izkoristka novejše oz. boljše tehnologije in programi, ki strogo zahtevajo > OpenGL 1.4 niso kompatibilni in se tudi v Windows okolju ne bodo izvajali (si že poskusil kdaj igrati OpenGL igre s takšno grafično ? - veliko jih NE dela).

OpenGL pa se, čeprav je primarno narejen za 3D pospeševanje uporablja tudi za 2D pospeševanje da ne bo pomote. - LINK

OpenGL-based pipeline for Java 2D - this pipeline provides hardware acceleration for simple rendering operations - OpenGL strojno 2D pospeševanje od Java 1.5 dalje.

Drugače sem se pa prej zmotil, da OpenGL 3.0, ki mu bo sledil 3.1 z nekaj popravki in izboljšavami, se že nekaj časa nisem s tem ukvarjal... :P
Human nature is not a machine to be built after a model, and set to
do exactly the work prescribed for it, but a tree, which requires to grow
and develop itself on all sides...

Zgodovina sprememb…

  • spremenil: vbohinc ()

arjan_t ::

ni vseeno, ker je server VM hitrejši za ceno daljšega startup časa in večje porabe rama.


očitno nisi razumel kaj sem hotel povedati ...
če bo en uporabljal server in en client VM bo iz uporabniškega stališča čisto vseeno

vbohinc ::

Mimogrede OpenGL 1.4 je star okoli 6 let...
Human nature is not a machine to be built after a model, and set to
do exactly the work prescribed for it, but a tree, which requires to grow
and develop itself on all sides...

MrStein ::

Evo, gehajmnis geluftet:

Java 1.6.0_11-b03
HostSpot 11.0-b16

Test : Bork File Encrypter v1.4
Ukaz : java -server/-client "-Dbork.password=testpassword" -cp bork.jar org.matthew.bork.Bork ubuntu-8.10-desktop-i386.iso
Testni fajl na FAT32 particiji. V vsakem testu na isti.


CPU: Intel Core 2 Q6600
RAM: 8GB DDR2 800 5-5-5-5

Windows XP SP3 :
- client VM : 15,5 sekund
- server VM : 8,9 sekund

RIPLinux 7.3 (jedro 2.6.27.7)
- client VM : 15,8 sekund
- server VM : 10,3 sekund

Torej so pametnjakoviči na moronix-u ugotovili, da je server VM 60% hitrejši od client VM.
Pol so to zlagali v "Linux je 60% hitrejši".


Preostale teste lahko ponovi kdo drug...
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

kunigunda ::

Jest lohk povem iz lastne prakse ko sem isto aplikacijo (state-machine server) gonil tako na linuxu(debian) in na win2000 (isti hardware dl380 g5),
in je na winsih hitrej delala(malenkost-debian je bil sicer 4.0).Najpocasneje je delalo na sunfire v480 solaris9. ce se ne spuscam v mipse in core,
mi je to cist dovolj razlog, da na solarisu tega ne bom gonil (dvomim da je opensolaris na sparcu kej hitrejsi).

WhiteAngel ::

@MrStein: Se strinjam s tabo. Test je FUD.

dbevfat ::

očitno nisi razumel kaj sem hotel povedati ...
če bo en uporabljal server in en client VM bo iz uporabniškega stališča čisto vseeno

mislim, da si ti tisti, ki ne razume. Uporabnik lahko izbira med tema VM-jema. Če so že šli delati teste, bi morali izbrati enak VM na vseh platformah.
nvr2fat

arjan_t ::

ja izbiraš lahko, ampak bo 99.9% pustilo tako kot je default nastavitev

MrStein ::

Vseeno zavajajo (ali pa resnično nimajo pojma).

V primeru grafike, so se namreč spustili v špekulacije, da je linux bil počasnejši najbrž zaradi slabega drivera, ko pa je Windows bil počasnejši pa so le doživeli orgazem, čeprav je razlaga tam očitna in sploh ne bi rabili ugibati.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

dbevfat ::

ja izbiraš lahko, ampak bo 99.9% pustilo tako kot je default nastavitev

To je pravzaprav irelevantno. Gre za kvazi-objektivno merjenje hitrosti, torej bi morali biti pogoji izenačeni. Še posebej zato, ker so te meritve zanimive samo za napredne uporabnike. Kaj je bolj verjetno: da uporabnik zaradi hitrosti uporabi (izbere) server VM na obstoječem OS-u, ali da zamenja OS, ker je tam privzeto uporabljan server VM?
nvr2fat

BlueRunner ::

Glede na to kaj in kako so testirali, bi bil upravičen naslov "Privzete nastavitve za Javo so v sistemu Windows morda slabše kot v Ubuntu". Naslov, ki so si ga izbrali, pa o resnici pove toliko, kot naslov v kakšnih Slovenskih novicah. Dobro se sliši, ampak 3/4 dejstev je v takšnem spinu zanemarjenih... pač ni novica, če nima bombastičnega naslova.

Sicer pa smetje not, smetje ven (Garbage in, garbage out). Test je bil zanič zastavljen in izveden (smetje not), zato zbrani podatki ne povedo čisto ničesar (smetje ven). Posledico pripišejo enem parametru, čeprav spreminjajo dva parametra. S svojim delom kvečjemu dokažejo, da testiranje ni za prepustiti ljudem, ki nimajo niti osnovnega znanja o stvari, ki jo testirajo. Če bi kaj vedeli, potem bi sami izpostavili razliko med "client" in "server" načini delovanja VM, hkrati pa tudi utemeljili zakaj te razlike niso odpravili.

V tem smislu lahko pričakujemo naslednji test v katerem bo sklep, da lahko Java v Linuxu izkoristi več pomnilnika kot pa v Windows. Pri temu bodo pa spregledali, da v Linux uporabljajo 64-bitno verzijo, v Windows pa 32-bitno. Če se jim ni to zgodilo tudi že tukaj.

Bistri007 ::

Pa zakaj tu sploh navajate teste z "The inquirer"? Moderator 8-O
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...

BigWhale ::

No ja. Stvar ja, test je res hecno zastavljen. Ampak vseeno, za 90% uporabnikov drzi. :) Tudi test pospeskov out-of-factory nekega avtomobila je lahko 'biased' s te strani, da na testu niso upostevali, da lahko chip-tunas avto in pridobis 20%.

BlueRunner ::

To z avti je sicer res. Res je pa tudi to, da se v testu opiše tudi parametre, ki se jih spreminja. Parameter, ki lahko tako bistveno spremeni rezultat, je težko "spregledati". Če naj bo test objektiven, se mora parameter navesti in navesti tudi razloga zakaj se ga je ignoriralo. V tem primeru ni bilo storjeno nič od tega.

Če bi npr. testirali 32-biten JVM napram 64-biten JVM v sistemu Windows, bi verjetno ugotovili podobne razlike. Ali to pomeni, da je 64-biten JVM hitrejši? V bistvu ne, ker 32-biten privzeto deluje kot "client", 64-biten pa pozna samo "server" način delovanja. Ali je takšen test pošten? Samo v primeru, da navedeš, da to razliko poznaš in, da izrecno testiraš privzeto namestitev. Če rezultat prikažeš kot odvisen samo od spremembe sistema, potem izpuščaš dejstva, ali pa nimaš pojma katere parametre si v testu spreminjal.

Za dober test bom vedno trdil, da testira spremembo samo enega parametra, če je to le možno. Če je več parametrov, pa se testira vse njihove variacije, da se pokaže njihov posamezen vpliv in njihova medsebojna odvisnost. Sklepe se lahko na koncu potegne iz celotnih podatkov, ne pa da se kar nekaj na pamet ugiba iz nekih polovičarskih testiranj. To, kar so naredili ti fantje je izdelek, ki ga bi študentu vrnil nazaj z nezadostno oceno.

Ta test bi morali ponoviti in zbrati še podatke za delo s "client" načinom v Linux in "server" načinom v Windows. Potem bi dobili številke, sklep pa se bi lahko še vedno glasil "privzete nastavitve v Linux omogočajo hitrejše delovanje, kot pa v Windows". S podatki, ki jih imamo sedaj v rokah, je vse skupaj brez veze. Sploh ne vemo kaj se je ujemalo in kaj se ni ujemalo. Njihova trditev je morda pravilna, morda je napačna, morda pa je pogojno pravilna. Vsekakor pa je niso utemeljili z verodostojnimi podatki.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Nvidia ustregla piscem odprtokodnega gonilnika Nouveau za Linux

Oddelek: Novice / Grafične kartice
177664 (5678) WhiteAngel
»

ubuntu 9.0 in DellStudio 1537

Oddelek: Strojna oprema
5923 (814) pivo
»

Java v Linuxu hitrejša

Oddelek: Novice / Grafične kartice
275208 (3719) BlueRunner
»

AMD izdal dodatno dokumentacijo za grafične kartice

Oddelek: Novice / Grafične kartice
345159 (2831) mile
»

Microsoft pripravlja program Driver Quality Rating

Oddelek: Novice / Operacijski sistemi
424113 (2876) Jst

Več podobnih tem