Latest feature release for GraalVM

GraalVM 20.1 adds speed improvements, language updates & more

Maika Möbus
GraalVM 20.1
© Shutterstock / Esteban De Armas

GraalVM 20.1 has arrived, three months after the last update. This feature release adds improved Kotline coroutine support in the compiler for increased runtime speed, a new mechanism for handling native images, and new language features for JavaScript, Python and more.

The latest GraalVM release, GraalVM 20.1, has been announced in a Medium blog post.

SEE ALSO: On the way to a polyglot future – GraalVM Project Advisory Board founded

Let’s see what the new version of the universal virtual machine has in store for us.

Runtime speed & more

In GraalVM 20.1, the runtime has become faster when it comes to Kotlin coroutines. There is not much change when coroutines are not used in benchmarks, but when they are, GraalVM 20.1 has been found to be about 4 times faster.

The blog post shows this benchmark example:

# GraalVM Enterprise 20.0
Benchmark Mode Cnt Score Error Units avgt 7 256.648 ± 3.574 ms/op avgt 7 114.249 ± 1.465 ms/op avgt 7 121.020 ± 3.820 ms/op avgt 7 35.641 ± 6.984 ms/op avgt 7 75.944 ± 8.367 ms/op avgt 7 16.180 ± 4.012 ms/op

# GraalVM Enterprise 20.1
Benchmark Mode Cnt Score Error Units avgt 7 85.204 ± 14.663 ms/op avgt 7 21.275 ± 6.202 ms/op avgt 7 121.277 ± 24.748 ms/op avgt 7 37.277 ± 8.069 ms/op avgt 7 16.945 ± 3.285 ms/op avgt 7 15.811 ± 4.544 ms/op

Other compiler changes include benchmark improvements for JDK 11 based GraalVM with fast lockings in use.

Native images have received an update as well: they can now use the new mechanism “saturated type flows,” currently not enabled by default, which should make the analysis faster and thereby improve the build process speed. Enable the new function by using the command line option -H:+RemoveSaturatedTypeFlows.

Languages and tools

For JavaScript, GraalVM 20.1 has ECMAScript 2020 mode features enabled by default, and TRegex now supports all regular expression features necessary for JavaScript engines.

Python has been moved to version 3.8.2, the R implementation now comes with GCC runtime libraries on Linux and macOS, and TrufflyRuby is now receiving nightly builds.

SEE ALSO: To 25 glorious years of Java!

Tool updates include improved stability of the Language Server as well as the GraalVM Visual Studio Code extensions.

See the blog post for all that’s new in GraalVM 20.1.

Maika Möbus
Maika Möbus has been an editor for Software & Support Media since January 2019. She studied Sociology at Goethe University Frankfurt and Johannes Gutenberg University Mainz.

Leave a Reply