GraalVM 21.1 Released With Experimental Java 16 Support, Many Performance Improvements
GraalVM as the Oracle-led Java VM/JDK that also supports other languages/run-times continues to be quite interesting with its ongoing work. With GraalVM 21.1 there is a lot of additions throughout its large code-base, including many performance optimizations.
Some of the GraalVM 21.1 changes that jumped out at us include:
- Experimental support for Java 16. See more details on Java 16 within the OpenJDK 16 release article.
- Continued work on the Linux AArch64 support but is still considered "experimental" at this stage. GraalVM's LLVM Runtime also has added experimental Linux AArch64 support.
- The Polyglot run-time has enabled multi-tier compilation by default. Oracle engineers finds this multi-tier compilation "improves the warmup for most languages significantly."
- Many improvements to the Java Debug Wire Protocol, including better performance. The Java on Truffle performance with debugging enabled has found to be "up to 200x!" faster.
- More complete support for Ruby 2.7 as well as enabling multi-tier compilation by default here. Other performance improvements are also present.
- GraalVM's Python support has added SSL support, a completely native back-end for the POSIX API, support for multi-threading with GIL, and support for the current HPy Python C API for better performance.
- GraalVM's WebAssembly "GraalWASM" code is now seeing faster speed-ups and the overall peak performance of this WASM interpreter as much as 10x faster. The speed of the GraalWasm launcher is also much faster and many other improvements made here too.
Downloads for the open-source GraalVM 21.1 along with finding out more about this latest GraalVM release can be found via GitHub.