ReadyNow — an "AOT" with profiling for Java

Day 1 /  / Track 3  /  EN / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

The just-in-time (JIT) compilers used by JVMs are marvelous pieces of technology that are crucial to achieving high performance, but they aren't without their downsides. Most notably — warm-up time and deoptimization.

Ahead-of-time (AOT) compilers seem like the obvious answer to these problems. Unfortunately, parts of the Java language and Java ecosystem are hostile to ahead-of-time compilation. And often, AOTs have to sacrifice key optimizations performed by JITs.

ReadyNow is Azul System's solution to these problems that aims to combine the best qualities of a JIT and an AOT. In this talk, we'll dive into the details of Azul's ReadyNow technology. We will look at ReadyNow's impact on warm-up and deoptimization, but we'll also see how ReadyNow solves some of the inherent challenges faced by a Java AOT.

Download presentation
Douglas Hawkins
Azul Systems

Lead developer at Azul Systems. Douglas has been developing in Java for 15 years — creating applications for a variety of industries including bioinformatics, finance, and online retail.

While working on those diverse applications, Douglas became interested in understanding the inner-workings of Java Virtual Machines. 5 years ago, Douglas made the switch to working on the internals of Azul’s server JVM: Zing and was the principal developer behind Azul’s ReadyNow technology.

Now, Douglas has the unique experience of having worked with JVMs both as a Java developer and a JVM implementor — and continues working at Azul as a lead developer.