Red Hat og GraalVM-samfunnet avduket nylig kunngjort i fellesskap utgivelsen av en ny distribusjon av GraalVM, kalt dorn. Det forventes det med denne nye distribusjonen driver Red Hat-bygningen av Quarkus, et nylig annonsert tillegg til Red Hat Runtimes.
Quarkus er et innfødt Kubernetes Java-rammeverk for JVM og native compilation. quarkus gir en effektiv løsning for å kjøre serverløse Java-applikasjoner, mikrotjenester, beholdere, Kubernetes, FaaS eller sky. Mandrel er åpen kildekode og tilgjengelig på GitHub, men den har ikke en binær distribusjon ennå.
I følge et notat fra Mark Little, Red Hats senior ingeniørdirektør, Mandrel kan beskrives som en distribusjon av en standard OpenJDK med et spesielt pakket GraalVM-innfødt bilde.
Hovedmålet bak introduksjonen av Mandrel av Red Hat er å forbedre hastigheten og effektiviteten til Quarkus-rammeverket. Det er et rammeverk som tilbyr lokal utvikling med rask ladning og containerisert eller serverløs distribusjon til cloud computing-leverandører.
quarkus fokuserer på evnen til å bygge innfødte kjørbare filer som starter raskere og de reduserer også driftskostnader og ressurser i skyen
Faktisk, Red Hat forklarte at for Quarkus er det viktige elementet i GraalVM dets opprinnelige bildefunksjonalitet som produserer innfødte kjørbare filer, som er en nøkkelfunksjon for Java å være konkurransedyktig i native cloud-arbeidsbelastninger. Derfor tillater Mandrel å ha GraalVM i tillegg til OpenJDK 11 på Red Hat Enterprise Linux og andre OpenJDK 11-distribusjoner.
I følge Red Hat er forskjellen for brukeren minimal, men for vedlikeholdsevne er forutgående justering med OpenJDK 11 og GraalVM viktig.
“Med Mandrel har Red Hat-kunder og GraalVM-samfunnet nytte av virkelig åpen utvikling, og Red Hat kan støtte sine kunder med velprøvde mekanismer og samtidig gi tilbake til samfunnene de stoler på for å fortsette å fremme staten. av kunsten å åpne kildekode, sa selskapet og snakket om Mandrel.
Når det gjelder ytelse, GraalVM preges av en 50 ganger raskere oppstartstid og 5 ganger mindre minnebruk.
Disse forskjellige testene ble utført ved hjelp av en eldre versjon av Quarkus-rammeverket mot Java HotSpot-modus. Selv om denne forbedringen krever lengre kompileringstid, kan den brukes parallelt med distribusjonen av Quarkus Lambda og Azure-funksjoner.
Videre Mandrel GitHub-depotet tilbyr ikke binær distribusjon ennå. Tvert imot, brukere kompilerer JDK selv ved å følge instruksjonene. I tillegg evaluerte programvareutvikleren James Ward GraalVM i detalj og presenterte fordelene med å forbedre ytelsen, samt noen fallgruver som refleksjonsbaserte applikasjoner.
Ifølge ham skaper dette et problem for innfødte GraalVM-bilder fordi refleksjon oppstår ved kjøretid, noe som gjør det vanskelig for en AOT (early bird) kompilator å bestemme kjøringsveier.
Når det gjelder apper som ikke trenger å tenke, peker Quarkus-hjemmesiden direkte på fordelen: 12 MB RAM versus 73 MB (en reduksjon på 83%) og 0.016 sekunder i første respons versus 0.943 (en reduksjon på 98 %).
Utviklere kan nå bruke Mandrel med sin egen build, eller de kan stole på GraalVM-samfunnet eller hvilken som helst JDK 11 og høyere distribusjon. Andre sier at disse innfødte Java-rammene egentlig ikke fungerer og ikke bør bli en industristandard.
Ifølge dem, ikke en teknologi for generell bruk hvor man kan ta et eksisterende Java-program og gjøre det opprinnelig. Dette fungerer ikke, selv for applikasjoner som er skrevet ved å velge et bibliotek fra det enorme Java-økosystemet.
Sistnevnte mener at ulike rammeleverandører satser på at de fleste Java-applikasjoner er HTTP / ORM / JSON-applikasjoner, i tillegg til tiltak og sikkerhet osv.
Hvis du vil vite mer om det, kan du konsultere følgende lenke.