Rozhovor s Jaroslavem Tulachem o GraalVM
Na stránkach spolku OpenAlt vyšiel Rozhovor s Jaroslavem Tulachem o GraalVM – o kompilátoru umožňujúcim v jednom programe kombinovať rôzne jazyky (Java, JavaScript, Ruby, R, C, C ++, Fortran, Rust ai.), prekladať do natívnych binárek alebo si ľahko vytvoriť vlastný jazyk a použiť pri tom existujúce ekosystém (debugger, profiler, IDE atď.).
Pre pridávanie komentárov sa musíte prihlásiť.
Skúšaľ to niekto?
A co by tě konkrétně zajímalo? Vypadne z toho nativní binárka. Pokud používáš reflexi, tak je potřeba tomu trochu pomoci, protože kompilátor sám od sebe nemůže vědět, u kterých tříd tu reflexi chceš používat.
Staví na tom různé frameworky jako Micronaut nebo Quarkus. Dá se říct, že už se to začíná používat v praxi, není to jen na hraní.
Na Graalu mi přišly nejzajímavější asi tyhle dvě věci: Jednak míchání různých jazyků v jednom programu a plynulé debuggování (krokuješ program v IDE, vstoupíš do nějaké metody a najednou jsi ve zdrojáku v jiném jazyce – a funguje to, vidíš tam proměnné atd., a pak zase plynule přejdeš/vyskočíš zpět). A jednak možnost přeložit do nativního kódu jen část aplikace – což se hodí, když používáš nějakou nativní knihovnu v C a k tomu máš nějaký lepidlový kód psaný ve vyšším programovacím jazyce a normálně se tam neustále přeskakuje mezi ním a tím céčkem… Jenže díky GraalVM můžeš do nativního kódu přeložit i tu část kódu, která lepí dohromady ta volání, takže celá tahle vrstva běží nativně a přeložená AOT, zatímco zbytek programu si necháš překládat JITem.
Viem o tom fakt kulové, tak ma napadlo, že by bolo fajn preložiť nejaký Java/Python program do natívnemu kódu kvôli rýchlosti. Máš s tým nejaké konkrétne skúsenosti, alebo odkazy na konkrétne príklady?
mozno nie uplne odpoved na tvoju otazku, ale co som si z prednasky Jaroslava Tulacha na OpenAlte odniesla je, ze GraalVM je dobry ked vo svojom programe chces pouzit kniznicu napisanu v inom jazyku
a este ze implementacia jazykov tam je velmi rychla
prednaska asi nebola nahravana, tak aspon slajdy: https://openalt.cz/2019/slides/jaroslav-tulach-pribehy-z-vyvoje-nejrychlejsiho-virtualniho-stroje.pdf
Doplním, že to debugovanie ma až tak nezaujíma. Chápem, že je to zaujímavé a niekomu sa hodí, mno ja toto nepotrebujem :)
Jorge mal na tohorocnej openslave peknu prezentaciu o graalvm aj s ukazkami nativneho buildu. video: youtube