GraalVM 21.2 Released With New Optimizations, Better Linux AArch64 Support

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 the "-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.
25 Comments