Lançado a versão 20.0.0 da GraalVM

Nessa terça feira dia 18/02/20, a equipe da GraalVM disponibilizou sua versão 20.0.0. Plataforma Poliglota, que compila seus programas em imagens nativas reduzindo drasticamente o tempo de start e o consumo de memória.

O que é a GraalVM?

A GraalVM é uma máquina virtual universal Open Source criada pela Oracle, que executa aplicativos escritos em JavaScript, Python, Ruby, R, linguagens que já rodam na JVM, como Java, Scala, Groovy, Kotlin, Clojure e linguagens baseadas em LLVM, como C e C ++.

A GraalVM remove o isolamento entre linguagens de programação e permite a interoperabilidade em um tempo de execução compartilhado. As imagens podem ser executadas standalone ou nos contextos do OpenJDK, Node.js ou Oracle Database. Essa interoperabilidade permite desenvolver em java e acessar funcionalidades de outras linguagens.

Abaixo, gráficos de tempo de start e utilização inicial de memória das imagens nativas compiladas pela GraalVM. Os programas foram desenvolvidos respectivamente com os frameworks voltados para microserviços Helidon, Micronaut e Quarkus.

Tempo de start de microserviços Java
Memória utilizada inicialmente com microserviços Java

O que mudou nessa nova versão?

A versão 20 aprimora significativamente os builds da GrallVM para plataforma Microsoft. O suporte permanece experimental, no entanto, as compilações realizadas no Windows, agora contêm o “gu”, que é um utilitário funcional para instalar os componentes. A Engine do JavaScript e o Node.js foram incluídas na distribuição voltada para Windows. O engine JavaScript foi atualizada e agora é compatível com Node.js 12.15.0. O toolchain agora é baseado na versão 9.0.0 do interpretador LLVM suportando novas libs.

Mais sobre a GraalVM

A GraalVM foi apresentada pela Oracle no meio de Abril de 2018 e a sua versão 1.0 foi lançada para Linux e Mac. Como dito anteriormente, já há a versão para plataforma windows, mas com suporte experimental.
Na versão atual, a Community Edition GraalVM é baseada no OpenJDK 1.8.0_242 e no OpenJDK 11.0.6. Já a Enterprise Edition é baseado no 1.8.0_241 e 11.0.6 do JDK.

Caso queira saber mais e começar a utilizar, acesse https://www.graalvm.org/