Open Source LLM

GraalVM 21.2 Released With New Optimizations, Better Linux AArch64 Support

Oracle has published a new version of GraalVM , its open-source Java JVM/JDK implemented in Java that also supports other programming languages and execution modes. GraalVM continues to be quite an interesting effort given its various languages supported and interesting technical experiments/features in the name of greater Java performance and other innovative features.

GraalVM 21.2 is another interesting release both for the pure community open-source project and also some new extras only within GraalVM Enterprise too. Among the changes catching my eye with GraalVM 21.2 include:

- A speculative guard movement optimization has been added that tries to move a loop invariant guard inside a loop to now outside the loop. This improves GraalVM's SpecJVM2009 geometric mean score by about 4.2% and lesser in other Java benchmarks too.

- Various other optimizations and Graal compiler improvements, mostly smaller items.

- Linux AArch64 GraalVM builds are now released as "supported" with more features enabled like the Ruby runtime, Java on Truffle, and more.

- More mature support for Java 16.

- GraalVM Enterprise has added a "novel" SIMD vectorization optimization for sequential code. This SIMD vectorization feature isn't being enabled by default yet but can be activated with te "-Dgraal.VectorizeSIMD=true" option.

- The Polyglot runtime has a new compilation queuing heuristic leading to improved warmup times for many workloads.

- Java on Truffle has improved bytecode dispatch that can lead to a 15~30% interpreter speed-up.

- Improved Python performance.

The free/community edition of GraalVM 21.2 can be downloaded from GitHub . The full list of GraalVM 21.2 changes to its numerous software components can be found over on GraalVM.org .