The GraalVM team regularly presents at various conferences and meetups. We are delighted to learn that you have taken interest in GraalVM and would like to share this interest with your network. Whether you are presenting at a conference, a meetup, or writing an article, you can use the images on this page in your creative work. These images are the intellectual property of the Oracle and cannot be altered without Oracle’s permission. Please use it responsibly. For the proper use guidelines please contact us:

Please attribute them back to this website, so more people could find it. And please make sure to state your affiliation with the GraalVM project, whether you’re a part of the team or just a fan.

GraalVM logo

GraalVM overview

GraalVM supports many languages and runs in various environments.

GraalVM system diagram

GraalVM components

GraalVM functionality is enabled by several layers: it uses JVM as a platform, uses Java level compiler interface, JVMCI to integrate with it, uses the Truffle framework to run languages it has interpreters for, and through the LLVM bitcode interpreter, Sulong, it can run native code.

GraalVM platform layers diagram

Performance comparison with best competition (2017)

The Practical partial evaluation for high-performance dynamic language runtimes paper by Thomas Würthinger, Christian Wimmer, Christian Humer, Andreas Wöß, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, Matthias Grimmer compared performance of GraalVM against other runtimes. Here is a one-image summary of the findings. For proper interpretation, please read the paper.

GraalVM performance comparison (2017)

Sample applications

You can find several sample applications to play with and refer to on the examples page.