Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: neruda 30. 12. 2013, 20:37:49

Název: Java JIT Compiler a kompilace do nativního kódu
Přispěvatel: neruda 30. 12. 2013, 20:37:49
Preji skoro vesely Silvestr a mam zde jeden dotaz pro vice zasvedcene ohledne kompilace Javy do nativniho kodu.

Znam ExcelsiorJET, gcj atd, dokonce je mi i jasne, ze HotSpot optimalizace vcetne napr escape analysis davaji docela smysl a nebyly by v nativnim kodu mozne, nicmene jen z teoretickeho hlediska:

Kdyz tu je JIT Compiler, jaky je duvod ho (asi celkem jednoduse) nevyuzit k prekladu celeho programu do nativni binarky?


Název: Re:Java JIT Compiler a kompilace do nativniho kodu
Přispěvatel: mikrom 30. 12. 2013, 23:31:28
Kdyz tu je JIT Compiler, jaky je duvod ho (asi celkem jednoduse) nevyuzit k prekladu celeho programu do nativni binarky?

JIT je kompilacia casti bytekodu pocas behu programu na JVM za ucelom zrychlenia celeho programu.
JIT kompilator je sucastou JVM a ja si myslim, ze v tomto pripade kompilacia celeho programu do nativnej binarky nikdy nebola cielom, pretoze tym by sa stratili prednosti JVM, ako napr. automaticka sprava pamati, prenositelnost... etc.

Ale ako pises existuju na to ine kompilatory ako napriklad gcj.
 
Název: Re:Java JIT Compiler a kompilace do nativniho kodu
Přispěvatel: student 31. 12. 2013, 00:36:58
JIT kompilator je sucastou JVM a ja si myslim, ze v tomto pripade kompilacia celeho programu do nativnej binarky nikdy nebola cielom, pretoze tym by sa stratili prednosti JVM, ako napr. automaticka sprava pamati, prenositelnost... etc.
Keby to kompiloval pri loadovani classy, tak by sa prednosti JVM nestratili. Skor by sa to nedalo dost dobre optimalizovat (neboli by statistiky z behu) a tak by to bolo pozadu, co do vykonu. Staci sa pozriet na JVM s parametrom client, ktory sa tomuto blizi.

Pre dalsie info odporucam clanky tu, na Roote, od pana Tisnovskeho.
Název: Re:Java JIT Compiler a kompilace do nativniho kodu
Přispěvatel: Sten 31. 12. 2013, 00:56:16
Kdyz tu je JIT Compiler, jaky je duvod ho (asi celkem jednoduse) nevyuzit k prekladu celeho programu do nativni binarky?

Protože je napsán jako součást JVM a např. nedokáže program načíst, neumí kontrolovat závislosti JARů nebo neobsahuje linker. Takový program by se totiž nakonec stejně musel distribuovat s celým JVM a výhody předkompilovaného programu se tím úplně ztratí.
Název: Re:Java JIT Compiler a kompilace do nativního kódu
Přispěvatel: hugo 31. 12. 2013, 11:13:35
JMeter ma zmysel, popripade SoapUI a k nemu takisto LoadUI. Spustitelne z hocikadial :)
Název: Re:Java JIT Compiler a kompilace do nativního kódu
Přispěvatel: mikrom 01. 01. 2014, 23:35:07
JMeter ma zmysel, popripade SoapUI a k nemu takisto LoadUI. Spustitelne z hocikadial :)
No a ? To je OT nijako to nesuvisi s JIT.