Red Hat och GraalVM-communityn tillkännagav nyligen lanseringen av en ny GraalVM -distribution som heter Mandrel . Denna nya distribution förväntas ge Red Hat-versionen av Quarkus ett boost, ett nyligen tillkännagivet tillägg till Red Hat Runtimes.
Quarkus är ett inbyggt Java Kubernetes-ramverk för JVM och inbyggd kompilering. Quarkus tillhandahåller en effektiv lösning för att köra serverlösa Java-applikationer, mikrotjänster, containrar, Kubernetes, FaaS eller molnapplikationer. Mandrel är öppen källkod och tillgängligt på GitHub, men det har ännu ingen binär distribution.
Enligt en anteckning från Mark Little, senior chef för teknik på Red Hat, kan Mandrel beskrivas som en distribution av en standard OpenJDK med en specialpaketerad nativ GraalVM-avbildning.
Det primära målet bakom Red Hats introduktion av Mandrel är att förbättra hastigheten och effektiviteten hos Quarkus-ramverket. Det är ett ramverk som erbjuder lokal utveckling med snabba omladdningar och containeriserad eller serverlös distribution till molntjänstleverantörer.
Quarkus fokuserar på möjligheten att bygga inbyggda körbara filer som startar snabbare och även minskar kostnader och driftsresurser i molnet.
Red Hat förklarade faktiskt att för Quarkus är det viktiga elementet i GraalVM dess inbyggda bildfunktion , som producerar inbyggda körbara filer – en nyckelfunktion för att Java ska vara konkurrenskraftigt i molnbaserade arbetsbelastningar. Därför tillåter Mandrel att GraalVM används tillsammans med OpenJDK 11 på Red Hat Enterprise Linux och andra OpenJDK 11-distributioner.
Enligt Red Hat är skillnaden för användaren minimal, men för underhållsförmåga är det nödvändigt med en tidigare anpassning till OpenJDK 11 och GraalVM.
"Med Mandrel drar Red Hat-kunder och GraalVM-samhället nytta av verkligt öppen utveckling, och Red Hat kan stödja sina kunder med beprövade mekanismer samtidigt som de ger tillbaka till de samhällen de litar på för att fortsätta att utveckla det moderna med öppen källkodsberäkning," sa företaget och talade om Mandrel.
Prestandamässigt utmärker sig GraalVM med en 50 gånger snabbare starttid och 5 gånger lägre minnesanvändning.
Dessa olika tester gjordes med en äldre version av Quarkus-ramverket mot Java HotSpot-läge. Även om denna förbättring kräver längre kompileringstid kan den användas parallellt med distributionen av Quarkus Lambda- och Azure-funktionerna.
Dessutom erbjuder Mandrels GitHub-repository ännu inte en binär distribution. Därför kompilerar användarna JDK själva enligt instruktionerna. Dessutom granskade mjukvaruutvecklaren James Ward GraalVM i detalj och redogjorde för dess prestandafördelar samt vissa nackdelar, såsom applikationer som är beroende av reflektion.
Enligt honom skapar detta ett problem för infödda GraalVM-bilder eftersom reflektion inträffar vid körningstid, vilket gör det svårt för en AOT-kompilator att bestämma exekveringsvägar.
När det gäller appar som inte behöver tänka pekar Quarkus hemsida direkt på fördelen: 12 MB RAM-minne jämfört med 73 MB (en minskning med 83%) och 0.016 sekunder i det första svaret jämfört med 0.943 (en minskning med 98%) .
Utvecklare kan nu använda Mandrel med sin egen version , eller så kan de förlita sig på GraalVM-communityn eller någon distribution av JDK 11 och senare. Andra säger att dessa inbyggda Java-ramverk inte riktigt fungerar och inte borde bli en branschstandard.
Enligt dem är det inte en allmän teknik där man kan ta en befintlig Java-applikation och göra den native. Detta kommer inte att fungera, inte ens för applikationer skrivna med ett bibliotek från det stora Java-ekosystemet.
De senare tror att olika ramleverantörer satsar på det faktum att de flesta Java-applikationer är HTTP / ORM / JSON-applikationer, förutom åtgärder och säkerhet etc.
Om du vill veta mer om det kan du besöka följande länk.