Workshop: [SOLD OUT] Maximizing Performance with GraalVM

Location: Seacliff B

Duration: 1:00pm - 4:00pm

Day of week: Thursday

Level: Intermediate

Key Takeaways

  • Understand the performance characteristics and differences between JIT and AOT compilation for Java.
  • Know which Java applications are amenable for AOT compilation.
  • Know how to work with with restrictions of AOT compilation.


Basic understanding of Java (or Scala, Kotlin)

GraalVM project enhances the Java ecosystem with an integrated, polyglot, high-performance execution environment for dynamic, static, and native languages. GraalVM supports Java, Scala, Kotlin, Groovy, and other JVM-based languages. At the same time, it can run the dynamic scripting languages JavaScript including node.js, Ruby, R, and Python. In this workshop we will discuss the best practices for Java code and compiler configurations to maximize performance with GraalVM and how to measure performance in a reliable manner. We will talk about how to achieve minimal memory footprint and binary size using GraalVM Native Image — programs compiled ahead of time to native executables. A comparison of profile-guided optimizations for ahead-of-time compilation and just-in-time compilation will show the benefits and drawbacks of the two approaches. After this session you will have a better idea how to use GraalVM for the maximum potential to run your applications faster.

Target Group:

People who have heard about GraalVM but don't know all the details, and might therefore be confused whether to use GraalVM with JIT compilation or GraalVM Native Image with AOT compilation

Speaker: Christian Wimmer

Project Lead of the Native Image Part of GraalVM @graalvm

Christian Wimmer is the project lead of the Native Image part of GraalVM. He was one of the first engineer of the GraalVM project when it was started more than eight years ago, and helped growing it from a research project to a supported Oracle product. He believes that all languages should be equally fast, and that we therefore need to stop writing individual VMs and instead have one polyglot VM.

Find Christian Wimmer at

Last Year's Tracks

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.