Presentation: Understand the Trade-Offs Using Compilers for Java Applications

Track: JVM and its Ecosystem

Location: Pacific LMNO

Duration: 2:55pm - 3:45pm

Day of week:

Slides: Download Slides

This presentation is now available to view on

Watch video with transcript


The Java ecosystem has perhaps the most rich variety of native code compilation technologies of any language on the planet. We have Just In Time (JIT) compilers aggressively profiling and speculating on the state of a running program. There are Ahead of Time (AOT) compilers that generate code before the program runs. We have JIT compilers that cache their code so it won’t need to be recompiled in every run and, soon, compilation services that can perform JIT compilations outside of the JVM process. Are these compiler technologies all equally good at running Java applications? Which should you choose? In this talk, I’ll examine some of the strengths and weaknesses of all these different approaches if you were to apply them in isolation, and discuss how production JVMs are assembling a combination of these tools that work together to provide excellent performance across the huge spectrum of applications written in Java and JVM based languages.

Speaker: Mark Stoodley

Eclipse OpenJ9 and OMR Project Lead @IBM

Mark Stoodley wrote his first compiler almost from scratch at the age of 16 after borrowing his older brother’s copy of the famous Dragon book. It wasn’t easy (and the result wasn’t really very good) but he was hooked. After more years of graduate work on optimizing compilers and computer architecture than he cares to remember, he joined IBM Canada to build Java Just In Time (JIT) compilers for production use and led the team that delivered Ahead Of Time (AOT) compilation in the IBM SDK for Java 6 in 2007. Mark spent the last five years leading the effort to open source nearly 4.3 million lines of source code from the IBM J9 Java Virtual Machine to create the two open source projects Eclipse OMR and Eclipse OpenJ9, and now co-leads both projects. In his rare spare time, he works on a library called JitBuilder at Eclipse OMR that aims to make it easier than ever before for people to develop their own JIT compilers!

Find Mark Stoodley at

Similar Talks

JIT vs AOT Performance With GraalVM


Developer Advocate for GraalVM @Oracle

Alina Yurenko

Parsing JSON Really Quickly: Lessons Learned


Professor and Department Chair @TELUQ - Université du Québec

Daniel Lemire

Fault Tolerance at Speed


Ex-NASA Researcher and High Performance Distributed Systems Whisperer

Todd Montgomery