GraalVM 21.3 Released
Written by Nikos Vaggalis   
Tuesday, 23 November 2021

GraalVM, the runtime that compiles Java bytecode into native self-contained executables and capable of running programs in different languages other than Java, has reached version 21.3.

 

Foremostly it comes with support for Java 17, as such it makes available all new features of the language. Further, from now on GraalVM Community distributions will be based on OpenJDK 11 and 17 only, hence OpenJDK version has been deprecated. This affects GraalVM Enterprise too that is based on the corresponding Oracle JDKs.

This version brings several compiler optimizations that boost performance, such as the Strip Mining optimization that converts uncounted loops to counted and the Enhanced Automated Vectorization which leverages the latest SIMD instruction capabilities available on the target hardware platform.
We've seen how SIMD's can quadruple performance in cases like SimdJSON.

There were also optimizations on the Native Image end:

  • Improved Native Image configuration

  • Improved gathering of the reflection metadata by the native-image builder

  • Reduced image size as well as image build time. This is especially beneficial for large applications like those based on Spring Boot, and come on top of the performance enhancements you get out of the box by compiling Spring Applications to Native Images with Spring Native using the GraalVM native-image compiler;instant startup, instant peak performance and reduced memory consumption, since the native Spring applications are deployed as a standalone executable (docker image) without including a JVM installation.

The Polyglot Runtime end, under which 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), was also retouched. Some of those changes are :

  • Java
    Added Java 17 guest and host support

  • JavaScript
    Updated Node. js to version 14. 17. 6 and implemented the Error Cause proposal. It is available behind the experimental option --js. error-cause.

  • Ruby
    TRegex is now used by default, which provides large speedups for matching regular expressions.

  • Python
    Implemented a binary compatible backend for HPy 0. 0. 3, which allows HPy packages to run unmodified on CPython and GraalVM Python. This is part of an ongoing effort to make more packages available to users without them having to compile them for GraalPython specifically.

  • R
    Upgraded from PCRE to PCRE2 version 10.37.

  • LLVM Runtime
    Updated the LLVM toolchain for compiling C/C++ to version 12.0.1.

  • WebAssembly
    Improved internal implementation of GraalVM WebAssembly to make JS-WebAssembly Interface API more compliant.

Finally on the tool support end, a number of refactoring's were added to the VS Code GraalVM Extension Pack for Java as well as to the GraalVM Tools for Micronaut Extension.

GraalVM comes in two versions. The Enterprise edition 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.

 

More Information

GraalVM 21.3 release notes 

Related Articles

Compile Spring Applications To Native Images With Spring Native

 

 

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


The Feds Want Us To Move On From C/C++
13/11/2024

The clamour for safe programming languages seems to be growing and becoming official. We have known for a while that C and C++ are dangerous languages so why has it become such an issue now and is it  [ ... ]



Flutter Forked As Flock
05/11/2024

One of developers who worked on the Flutter team at Google has created an open-source form of the framework. Matt Carroll says Flock will be "Flutter+", will remain constantly up to date with Flutter, [ ... ]


More News

espbook

 

Comments




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

Last Updated ( Tuesday, 23 November 2021 )