Co zpomaluje Javu? A co překlad do nativního kódu?

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #105 kdy: 14. 11. 2016, 10:45:29 »
A jeje, zase tup[ej jirsak zvani zcela z cesty ...

Jirsak, java je jazyk nekompilovanej, a to je jedna z jejich primarnich vlastnosti. A negramoti to samo nemuzou pochopit. Jo a u toho kancl baliku je docela rozdil jestli neco bude domument prechroustavat a formatovat minutu (v C) nebo 10 (java).

Cim hur informovany tim agresivnejsi...


Radek

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #106 kdy: 14. 11. 2016, 10:53:29 »
Ahoj,

kratka odpoved. Ano java je pomala, presto jsem ji pouzivam uz vic jak 10 let a stale budu.

Ale je to dan za plno dalsich veci co nam java prinasi. Napriklad zpetnou kompatibilitu, bezpecnost a standartni SDK s kterym mohu pocitat na kazde implementaci. Doporucuju kouknot take na tuto odpoved na stackoverflow http://stackoverflow.com/a/2163570 Je to tam myslim velmi dobre schrnuto.

Pokud nekdo potrebuje rychle pocitat pocasi, simulace tekutin ci mandelbrotovy mnoziny, tak na to java opravdu nebyla prvne navrzena. Ale pokud nekdo potrebuje provozovat informacni system o 500k radkach kodu s integraci do nekolika databazi a distribuovanych transakci, tak zde java bude excelovat. Nikdy nebude rychlejsi nez C,ASM,FPGA,ASIC ale vzdy to vyvazi necim jinym. Treba 1/4 casem na vyvoj a udrzovani takoveho systemu.

Radek

gll

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #107 kdy: 14. 11. 2016, 11:07:04 »


Omlouvám se. Myslel jsem první příspěvek této diskuze od Mysteriozni. Desktopové aplikace mě nezajímají. Podle většiny benchmarků je Java opravdu 2x až 3x pomalejší než C. Někteří se tu snažili odpovědět proč tomu tak je. Vy diskutujete mimo téma a napadáte Čumila za odpověď na původní otázku.

http://benchmarksgame.alioth.debian.org/u64q/java.html

...a jako podporu tvrzeni "Podle většiny benchmarků je Java opravdu 2x až 3x pomalejší než C" posles link, kde je vetsina benchamrku takova, ze Java neni ani 2* pomalejsi nez C....

Průměr těch benchmarků vychází hůř než 2-krát pomalejší. Ten poslední je 3.5-krát pomalejší. Žádný z nich není rychlejší. Mnohokrát jsem se v těchto dskuzích dočetl, že Java je v některých případech rychlejší díky analýze spuštěného programu. Nikdy jsem neviděl benchmark, který by to potvrzoval.

čumil

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #108 kdy: 14. 11. 2016, 11:23:23 »
Jirsak, java je jazyk nekompilovanej, a to je jedna z jejich primarnich vlastnosti.
Množství toho, co všechno můžete vědět špatně, je zřejmě opravdu neomezené. JVM (Java Virtual Machine) provádí bajtkód. Programátoři nepíšou bajtkód v hexaeditoru, ale píšou program v nějakém programovacím jazyce, který se následně do bajtkódu kompiluje. Do bajtkódu se dá kompilovat několik jazyků, nejčastěji je to právě Java (což mimochodem vypovídá o znalostech zdejších „3× rychlejších“, protože není jasné ani to, zda píšou o Javě nebo o JVM). Kompilátor z Javy do bajtkódu je součástí JDK a obvykle se jmenuje javac.
Ty si fakt matroš :D takovýho demagoga sem fakt už dlouho nepotkal.
My chápeme že rychlost syntaxe nejde měřit, narozdíl od tebe ale umíme trošku generalizovat a nepotřebujeme za benchmarkem mít napsanou velikost čůráka tvurce vm pro maximální objektivitu.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #109 kdy: 14. 11. 2016, 11:39:22 »


Omlouvám se. Myslel jsem první příspěvek této diskuze od Mysteriozni. Desktopové aplikace mě nezajímají. Podle většiny benchmarků je Java opravdu 2x až 3x pomalejší než C. Někteří se tu snažili odpovědět proč tomu tak je. Vy diskutujete mimo téma a napadáte Čumila za odpověď na původní otázku.

http://benchmarksgame.alioth.debian.org/u64q/java.html

...a jako podporu tvrzeni "Podle většiny benchmarků je Java opravdu 2x až 3x pomalejší než C" posles link, kde je vetsina benchamrku takova, ze Java neni ani 2* pomalejsi nez C....

Průměr těch benchmarků vychází hůř než 2-krát pomalejší.

To uz je dost jine tvrzeni, nez se kterym jsi zacal.


Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #110 kdy: 14. 11. 2016, 11:41:14 »
Jirsak, java je jazyk nekompilovanej, a to je jedna z jejich primarnich vlastnosti.
Množství toho, co všechno můžete vědět špatně, je zřejmě opravdu neomezené. JVM (Java Virtual Machine) provádí bajtkód. Programátoři nepíšou bajtkód v hexaeditoru, ale píšou program v nějakém programovacím jazyce, který se následně do bajtkódu kompiluje. Do bajtkódu se dá kompilovat několik jazyků, nejčastěji je to právě Java (což mimochodem vypovídá o znalostech zdejších „3× rychlejších“, protože není jasné ani to, zda píšou o Javě nebo o JVM). Kompilátor z Javy do bajtkódu je součástí JDK a obvykle se jmenuje javac.
Ty si fakt matroš :D takovýho demagoga sem fakt už dlouho nepotkal.
My chápeme že rychlost syntaxe nejde měřit, narozdíl od tebe ale umíme trošku generalizovat a nepotřebujeme za benchmarkem mít napsanou velikost čůráka tvurce vm pro maximální objektivitu.

Ono hlavne je potreba uvedomit si, ze kompilovany a interpretovany nejsou ciste protiklady.
Java je kompilovana (jak do bytecodu tak pak prostrednictvim JIT nebo AOT dal do nativu) i interpretovana (interpretace bytecodu, kde se to podle JIT nevyplati resit).

gll

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #111 kdy: 14. 11. 2016, 11:55:22 »
Ono hlavne je potreba uvedomit si, ze kompilovany a interpretovany nejsou ciste protiklady.
Java je kompilovana (jak do bytecodu tak pak prostrednictvim JIT nebo AOT dal do nativu) i interpretovana (interpretace bytecodu, kde se to podle JIT nevyplati resit).

Složitější optimalizace musí řešit kompilátor do bytekódu. V JIT fázi na to není čas.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #112 kdy: 14. 11. 2016, 12:06:04 »
Ono hlavne je potreba uvedomit si, ze kompilovany a interpretovany nejsou ciste protiklady.
Java je kompilovana (jak do bytecodu tak pak prostrednictvim JIT nebo AOT dal do nativu) i interpretovana (interpretace bytecodu, kde se to podle JIT nevyplati resit).

Složitější optimalizace musí řešit kompilátor do bytekódu. V JIT fázi na to není čas.

To jsou zase moudra.
Pri prekladu do bytecode muzes udelat trebas escape analysis, ale nemas sanci poradne udelat devirtualizace. Stejne tak nemas pri prekladu do bytecode sanci udelat optimalizace, ktere zaviseji na cilove platforme.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #113 kdy: 14. 11. 2016, 12:12:46 »
My chápeme že rychlost syntaxe nejde měřit, narozdíl od tebe ale umíme trošku generalizovat
Tak generalizujte, generalizujte. Vždyť jsme to psal už v minulém komentáři, že mne zajímá, co přesně ty benchmarky podle vás ukazují. Když to umíte, tak přece pro vás není problém, abyste to zformuloval.

Ono to totiž takhle vypadá, že ta obecná tvrzení a generalizace jsou jen zástěrkou toho, že vlastně nevíte.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #114 kdy: 14. 11. 2016, 12:15:15 »
Složitější optimalizace musí řešit kompilátor do bytekódu. V JIT fázi na to není čas.
Právě naopak, složitější optimalizace dělá až JIT, protože k nim má potřebné informace – na rozdíl od kompilátoru zdrojových kódů, který nemá nic jiného, než ten zdrojový kód.

Mimochodem, spousta javovského kódu běží na serverech, kde má JIT dny, týdny nebo měsíce času na optimalizaci. To je řádově víc, než kolik má javac.

gll

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #115 kdy: 14. 11. 2016, 12:18:10 »
Složitější optimalizace musí řešit kompilátor do bytekódu. V JIT fázi na to není čas.
Právě naopak, složitější optimalizace dělá až JIT, protože k nim má potřebné informace – na rozdíl od kompilátoru zdrojových kódů, který nemá nic jiného, než ten zdrojový kód.

Mimochodem, spousta javovského kódu běží na serverech, kde má JIT dny, týdny nebo měsíce času na optimalizaci. To je řádově víc, než kolik má javac.

Když tu aplikaci restartuješ tak jsou měsíce optimalizací ztraceny.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #116 kdy: 14. 11. 2016, 12:30:33 »
Složitější optimalizace musí řešit kompilátor do bytekódu. V JIT fázi na to není čas.
Právě naopak, složitější optimalizace dělá až JIT, protože k nim má potřebné informace – na rozdíl od kompilátoru zdrojových kódů, který nemá nic jiného, než ten zdrojový kód.

Mimochodem, spousta javovského kódu běží na serverech, kde má JIT dny, týdny nebo měsíce času na optimalizaci. To je řádově víc, než kolik má javac.

Když tu aplikaci restartuješ tak jsou měsíce optimalizací ztraceny.

Presne tak.

Ono naopak by to bylo docela tezke, trebas kvuli tem devirtualizacim, ze?


čumil

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #117 kdy: 14. 11. 2016, 13:09:41 »
Tadle celá diskuze je padlá na hlavu.

Takže vážení, Ondro a Filipe, máte pravdu, Java (JVM ... Oracle™ JVM) je úplně to nejrychlejší v celé poznané a nepoznané galaxii. Nativně kompilovaný kód je proti Java (JVM ... Oracle™ JVM) totální sráč, úplně stejný jako všichni diskutující v tomhle vláknu, kteří místo toho aby něco užitečnýho dělali tak se hádaj o kompletní bullshit a vedou diskuzi na úrovni právníků na piku.

Tázajícího nezajímalo proč Java (JVM ... Oracle™ JVM) není 3x pomalejší. Tázajícího zajímalo proč naopak je 3x pomalejší. Tázající zřejmě ví že je pomalejší a nepotřebuje o tom poučovat. A i kdyby kecal sračky, proč vás to proboha tak tankuje, to Javu (JVM ... Oracle™ JVM) o volným čase šukáte takže to berete jako urážku cti? Nebo jako co?

Já si fakt připadám jak na exkurzi do 1984, kde se taky kecali totální sračky, ale pochvilce výkladu začli i celkem dávat smysl.

Kit

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #118 kdy: 14. 11. 2016, 13:15:33 »
Tázajícího nezajímalo proč Java (JVM ... Oracle™ JVM) není 3x pomalejší. Tázajícího zajímalo proč naopak je 3x pomalejší.

Třeba proto, že programátoři napsali tu aplikaci blbě.

Re:Co zpomaluje Javu? A co překlad do nativního kódu?
« Odpověď #119 kdy: 14. 11. 2016, 13:30:57 »
Tadle celá diskuze je padlá na hlavu.

Takže vážení, Ondro a Filipe, máte pravdu, Java (JVM ... Oracle™ JVM) je úplně to nejrychlejší v celé poznané a nepoznané galaxii. Nativně kompilovaný kód je proti Java (JVM ... Oracle™ JVM) totální sráč, úplně stejný jako všichni diskutující v tomhle vláknu, kteří místo toho aby něco užitečnýho dělali tak se hádaj o kompletní bullshit a vedou diskuzi na úrovni právníků na piku.

Strc si toho strawmana...