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
https://www.graalvm.org/downloads/ ,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.

Banner


AWS Releases Lambda SnapStart For .NET Functions
10/12/2024

Amazon has released new services for AWS Lambda SnapStart,  Amazon's performance optimization that aims to significantly improve the startup time for applications.



pg_parquet - Postgres To Parquet Interoperability
28/11/2024

pg_parquet is a new extension by Crunchy Data that allows a PostgreSQL instance to work with Parquet files. With pg_duckdb, pg_analytics and pg_mooncake all of which can access Parquet files, is  [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 03 June 2021 )