GraalVM 21.1 Released - What's New?
Written by Nikos Vaggalis   
Thursday, 03 June 2021

GraalVM, the runtime that compiles Java bytecode into native self-contained executables has reached version 21.1.

We had a look at GraalVM's integration with Spring Boot last March in "Compile Spring Applications To Native Images With Spring Native" as a testament to its use cases.In that case Spring Native let you compile Spring applications to native images using the GraalVM native-image compiler.

What's the advantage in that? Instant startup, instant peak performance, and reduced memory consumption, since the native Spring applications are deployed as a standalone executable without including a JVM installation.These are the advantages that the use of GraalVM brings.

However GraalVM is also a VM capable of running programs in different languages other than Java, allowing direct interoperation among them.As such you can write polyglot programms (like calling JavaScript from within a Java application) in JavaScript, Ruby, R, Python, and the native languages that use LLVM (the so called “Truffle” languages, which are the languages which interpreters are implemented with the Truffle framework),hence breaking away of just supporting languages of the JVM like Java,Scala and Kotlin.

Can't help but bring to mind the 2010 attempt of .NET DLR to bridge the CLR languages with the dynamic ones such as Python,Javascript and Rubby with their Iron-counterparts.Check Pro DLR in .NET 4.0
for a dive back in history.

It means also that GraalVM fully supports Node.js and the one included in GraalVM 21.1 has been updated to v14.16.1 but moved out of the base download and now you have to separately install it by running "gu install nodejs".

Also in this version this polyglot runtime enables the multi-tier compilation feature by default,something that improves the compilation speed and warmup for most languages.Along with it the wider support of all the Truffle languages has been also improved.

Performance improvements of tools that are part of the GraalVM distribution, such as the debugger and the profilers.For example the Java Debug Wire Protocol (JDWP) support was sped up so much that applications running under the debugger reach performance gains up to 200x!

On tooling there's a new version of the VS Code GraalVM Extensions and finally,v21.1 also comes with improvements and bug fixes on both the Compiler and Native Image front ends.

There's two GraalVM editions, GraalVM Enterprise and
GraalVM Community.Both v21.1 add support for Java 16 based on JDK 16.0.1 with the Enterprise being updated to Oracle JDK 8u291, 11.0.11 and 16.0.1, while the Community to OpenJDK 8u292, 11.0.11 and 16.0.1. Note the JDK vs OpenJDK difference.

Enterprise is free for evaluation and development with
additional performance, scalability and security over the community edition, while the Community is free for all purposes and runs any program that runs on GraalVM Enterprise.

Downloads of both versions can be found on ,while the release notes and details of GraalVM 21.1 Community can be found on GitHub.


More Information

GraalVM Release Notes on GitHub

Related Articles

Compile Spring Applications To Native Images With Spring Native

Pro DLR in .NET 4.0


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


The Ongoing State Of JavaScript

The latest State of JavaScript Survey has just been published, bringing us a wealth of details about what parts of the JavaScript ecosystem and used, loved and wanted by developers.

MySQL 9 Adds Support For JavaScript Stored Procedures

Oracle has announced that support for JavaScript functions and stored procedures has been added to the MySQL database server. The enhancements were added to MySQL 9, an 'innovation release', whic [ ... ]

More News

kotlin book



or email your comment to:

Last Updated ( Thursday, 03 June 2021 )