Application performance can be measured using many different metrics, including startup time, ramp-up time, footprint, and response time, as well as throughput. At Eclipse OpenJ9, we keep a watchful eye on all of these metrics, making sensible tradeoffs and providing tuning options that allow the virtual machine (VM) to be optimized for different workloads. We regularly test and optimize OpenJ9 performance when running the most popular Java frameworks such as Open Liberty, Quarkus, SpringBoot, and Micronaut. We're proud of our results.
OpenJDK 11 with OpenJ9 significantly outperforms HotSpot on Liberty startup, ramp up, and footprint.
By using shared classes cache and AOT technology, OpenJ9 starts in roughly half the time it takes HotSpot.
After startup, the OpenJ9 footprint is half the size of HotSpot, which makes it ideal for cloud workloads.
OpenJ9 reaches peak throughput much faster than HotSpot making it especially suitable for running short-lived applications.
Consistent with the footprint results after startup, the OpenJ9 footprint remains much smaller than HotSpot when load is applied.
With version 188.8.131.52 of Open Liberty and OpenJ9, Open Liberty managed to cut the startup time to their goal of almost exactly one second.Open Liberty blog
Payara found that with datagrid enabled, Payara Micro with class data sharing, booted in about 6 seconds, improving startup time by almost 40%.Payara Enterprise
Using Quarkus with OpenJ9 instead of HotSpot makes Java even more supersonic and subatomic!
Quarkus might be supersonic, but running it with OpenJ9 instead of HotSpot reduces startup time by a further 66%.
The ultra-supersonic startup time comes at some tradeoff to footprint, but OpenJ9 still has an edge over HotSpot.
For short-lived cloud workloads running on Quarkus, OpenJ9 delivers excellent ramp-up performance compared to HotSpot.
When ramp-up completes, as well as getting there faster, OpenJ9 still retains a smaller footprint than HotSpot.
Testing shows similar results for OpenJDK 8; OpenJ9 demonstrates significantly better performance than OpenJDK 8 with HotSpot
Shared classes and Ahead-of-Time (AOT) technologies typically reduce startup time. By using -Xquickstart mode as well, you can reduce startup time by up to 42%.
OpenJ9 is highly optimized for cloud workloads, where minimizing memory footprint is important. Out of the box, the footprint is 66% smaller than HotSpot.
OpenJ9 reaches peak throughput on a single CPU core in 8.5 minutes compared with 30 minutes for Hotspot. Ideal for short-lived VMs running in the cloud.
Memory footprint increases rapidly when load is applied. However, at steady state, OpenJ9 consistently used around 63% less physical memory than HotSpot.