Galahad, el nou projecte d'OpenJDK per fusionar la compilació nativa de GraalVM

OpenJDK va donar a conèixer una notícia en la qual proposa la creació d'un nou projecte, el qual té com a nom Galahad té la finalitat de fusionar algunes parts del codi de GraalVM Edició comunitària en el kit de desenvolupament de Java.

L'equip va anunciar que l'objectiu inicial del projecte Galahad és contribuir amb la darrera versió del compilador JIT de GraalVM i integrar-lo com una alternativa al compilador JIT de la màquina virtual HotSpot existent. Aquest és el darrer desenvolupament en un esforç de llarga durada per proporcionar la capacitat de compilar aplicacions Java en codi de màquina abans que sexecuti el programa.

GraalVM és una màquina virtual de Java (JVM) i un kit de desenvolupament de Java (JDK) creat per Oracle. És un entorn de temps d'execució d'alt rendiment que ajuda a millorar el rendiment i leficiència de les aplicacions.

Els seus objectius inclouen: escriure un compilador més ràpid i fàcil de mantenir, millorar el rendiment dels llenguatges que s'executen a la JVM, reduir els temps d'inici de les aplicacions, integrar suport multillenguatge a l'ecosistema de Java, així com proporcionar un conjunt d'eines de programació per fer-ho GraalVM afegeix un compilador d'optimització al JDK.

Això optimitza el rendiment dels diferents idiomasi assegura la interoperabilitat de les aplicacions multilingües. Juntament amb la compatibilitat amb el codi Java, GraalVM també admet altres llenguatges de programació, inclosos Scala, Kotlin, Groovy, Clojure, R, Python, JavaScript i Ruby.

Essencialment, permet als desenvolupadors executar codi de manera eficient en diversos idiomes i biblioteques dins una sola aplicació. El projecte OpenJDK ara vol aprofitar aquestes característiques i recentment va anunciar un full de ruta que us permetrà admetre GraalVM.

El suport de GraalVM està destinat principalment a proporcionar als usuaris d'OpenJDK la capacitat de compilar aplicacions Java en codi de màquina abans de lexecució del programa. A primera vista, això sembla una cosa estranya.

De fet, una de les primeres coses que aprèn un nou desenvolupador de Java és que “el llenguatge de programació de Java no es compila en codi de màquina, sinó en codi de bytes de JVM”. Aquesta simple màxima té profundes implicacions, la més fonamental de les quals és que la plataforma Java es basa en un entorn d'execució dinàmica poderós, la JVM, per a l'execució.

Aquest entorn de temps d'execució permet tècniques d'execució dinàmiques, com ara la càrrega de classes i la reflexió, que no tenen anàlegs reals en els llenguatges compilats abans d'hora (AOT). De fet, és el punt de partida de tot allò que fa que Java sigui tan poderós i allò que ho va fer tan revolucionari quan va arribar a l'escena del programari fa uns 25 anys. Tot i això, sempre hi ha hagut interès en la capacitat de compilar programes Java directament en codi de màquina i executar-los de forma independent sense una JVM.

Hi ha diverses raons per a aquest desig: reduir el temps d'escalfament de les aplicacions Java perquè arribin al màxim rendiment, reduir els requisits de memòria de les aplicacions Java, o simplement un desig general d'evitar l'ús de recursos per als subsistemes de temps de execució que una aplicació pot no necessitar. Diversos projectes han intentat fer aquesta possibilitat. El més recent, i possiblement el més reeixit fins ara, és el projecte GraalVM. Aquest projecte no és d'OpenJDK, sinó d'un projecte de recerca d'Oracle Labs. La primera versió de producció, GraalVM 19.0, va arribar al maig del 2019.

Des de llavors, GraalVM ha operat com a projecte independent amb un cicle de llançament diferent i una interacció limitada amb OpenJDK.

Ara com ara, Galahad s'enfoca a contribuir amb l'última versió del compilador JIT de GraalVM i integrar-lo com una alternativa al compilador C2. Posteriorment, s'hi afegirà la tecnologia de compilació AOT necessària perquè el compilador JIT Graal estigui disponible instantàniament a l'inici de JVM. Val a dir que no es confirmarà la base de codi completa de GraalVM, només els components centrals JIT i AOT, així com l'eina Native Image. Les funcions patentades d'Oracle presents a GraalVM Enterprise Edititon no s'han d'assignar al projecte.

Finalment si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.