Dzisiaj będzie krótko, bo skupimy się na jednym ogłoszeniu, które gruchnęło na nas ze strony list mailingowych Javy. PS: Ale pamiętajcie – zostańcie na scenę po napisach 😉
1. Galahad wyrusza w podróż by dostarczyć GraalVM do Javy
Podczas ostatniego JavaOne gruchnęło na nas ogłoszenie, że Oracle uwalnia GraalVM CE w wersji dla Javy, a projekt przeniesiony zostanie pod skrzydła (i licencje) JDK. Do tej pory brakowało detali, w jaki sposób całość będzie realizowana. Trzeba pamiętać, że nawet przeniesienie kodu źródłowego Javy z poprzedniego repozytorium na GitHuba było długą, skomplikowaną inicjatywą, która dostała własny Projekt Skara.
W wypadku GraalVM mówimy nie tylko o czystej migracji z jednego serwisu na drugi (co samo w sobie też nie jest trywialne, zwłaszcza że przenoszono również repozytorium z Mercuriala na Gita), ale wyciągnięciu pewnej części GraalVM i przerzucenia go do zupełnie osobnego bytu, jakim jest JDK. Należy pamiętać bowiem, że GraalVM CE jest szerszym ekosystemem, a tylko część dotycząca Javy będzie migrowana. Sprawia to, że całość będzie skomplikowaną operacją, ponieważ wszystkie przyszłe zmiany GraalVM będą musiały brać pod uwagę wariant Javowy, o innym cyklu życia i licencji. Dlatego nie ma co się dziwić, że do zaprojektowania i przeprowadzenia całości powołano specjalną inicjatywę – projekt Galahad.
Co Galahad oznacza w praktyce? Pierwszym krokiem będzie wprowadzenie JDK drugiego (a właściwie trzeciego) kompilatora JIT. Gwoli przypomnienia – w tej chwili JDK posiada już dwa różne JIT – C1, C2. Odpalane są one na różnym etapie cyklu życia aplikacji – jest to proces znany jako Tiered Compilation i jest świetnie opisany w rozdziale Working with the JIT Compiler książki „Java Performance” Scotta Oaksa. GraalVM będzie stanowił zaś dla nich uzupełnienie. Ron Pressler wypowiedział się jednak, że w przyszłości GraalVM może zastąpić C2. Jeżeli jesteście ciekawi, czym tak naprawdę kompilator JIT pochodzący z GraalVM różni się od tych już istniejących, polecam publikacje Deep Dive Into the New Java JIT Compiler – Graal.
W późniejszej kolejności należy spodziewać się przenoszenia również części GraalVM dotyczącej kompilacji Ahead-of-Time. Tutaj całość ma ciekawe drugie dno, ponieważ inicjatywa dość mocno zahacza o Projekt Leyden. Zarówno Leyden, jak i Galahad będą dziać się w tym samym czasie, a twórcy tego ostatnie już teraz zapowiadają, że będą mocno wyczuleni na to, co dzieje się w starszym bracie.
Użytkownicy Reddita zwracają uwagę, że za projektem stoi masa doświadczonych inżynierów, z samym liderem projektu GraalVM na czele. Galahad jako punkt startowy wygra robie JDK 20. Już teraz wiadomo, że jak ma to miejsce wypadku innych projektów, raczej nie należy spodziewać się jednej, dużej migracji, a szeregu mniejszych JEP-ów, które stopniowo będę przenosiły GraalVM do JDK.
I na razie to tyle. Pewnie już wkrótce możemy spodziewać się kolejnych ogłoszeń, pierwszych proposali i działań.
Źródła
- Call for Discussion: New Project: Galahad
- Deep Dive Into the New Java JIT Compiler – Graal
- Working with the JIT Compiler
Zainstaluj teraz i czytaj tylko dobre teksty!
Bonus: Valhalla.
A jeśli jest Wam tej dzisiejszej, nieco krótszej edycji trochę mało, to ostatnio na inside.java pojawiło się świetne wideo podsumowanie obecnego stanu Valhalli. Miłego oglądania przy choince 🎄
PS1: A jak już jesteśmy w klimatach podróży i legend arturiańskich, to ja osobiście jestem wielkim fanem (nie mogło być inaczej, moi rodzice nazwali mnie po nikim innym, jak właśnie po królu Arturze). Dlatego chciałem Wam polecić wydany w 2021 roku film Green Knight – jedną z najlepszych reinterpretacji legend arturiańskich, zachowujących całą ich tajemniczość, wypraną do cna przez popkulturę.
PS2: To jeszcze jedna z moich ukochanych gier karcianych: Avalon, która pozwoli Wam samodzielnie wcielić się w Galahada i wyruszyć po Graala.
PS3: To jak przy grach planszowo-karcianych jesteśmy, to jeszcze dorzucę grę planszową Shadow over Camelot, która również umożliwia podróż po legendarny kielich.
PS4: A jak chcecie wiedzieć, co się wydarzy jeśli nie uda Wam się Graala odzyskać, to genialną produkcją o ciężkim klimacie Soulu-Like jest Tainted Grail: Conquest polskiego studia Awaken Dreams. Istnieje też edycja planszowa, ale tej nie miałem jeszcze okazji spróbować. Ale wiecie, święta idą… może ktoś?
Ogólnie wiedzcie:
PS5: A jako że była w bonusie też Valhalla, to jeżeli spodoba się Wam Green Knight, to tegoroczny The Northman to bardzo podobne zarówno pod względem klimatu jak i formalnym (i równie dobre) kino…
Tak, już przestaję.