Comparing Java startup performance options with Quarkus
summary
Compares concrete options: HotSpot vs OpenJ9, AppCDS and JDK24 AOT class linking, OpenJ9 shared classes cache, CRaC checkpoint/restore, remote JIT (JIT server/Seamru), and GraalVM native images. JVM cold start itself is ~70 ms; Quarkus reports ~2.507 s; container startup adds ~500–600 ms (up to 1.2 s). OpenJ9 cuts time-to-first-response ~30% and uses ~half the steady‑state memory of HotSpot but can spike at JIT time; JIT server removes those spikes; native images start fastest but add multi‑minute builds and occasional runtime class discovery failures; CRaC restores in a few hundred ms and matches native startup without rebuilding code.
AI-written summary · about
chapters (12)
- 0:00Introduction and speaker intro
- 1:25What fast Java startup means
- 18:52Java startup tech options overview
- 22:42Pure Java JDK options
- 25:09Hotspot class sharing
- 27:56Hotspot AOT class linking
- 30:25OpenJ9 shared classes
- 34:19Checkpoint restore with OpenJ9
- 38:30Remote JIT compilation
- 40:56Native image with Quarkus
- 45:12Choosing the right option
- 47:43Future improvements and Q&A
related talks
42mTechniques for a faster JVM start-up
01h 00mKeynote: The Java Renaissance
01h 03mKeeping Your Java Hot.
42mLess waste, more joy, and a lot more green: How Quarkus makes Java better
52mTechniques for a faster JVM start-up
53mThe Next Evolution of Java: ☕️ Achieving Hyper Performance and Efficiency in Cloud Native Workloads
06mSimple Tweaks to Get the Most Out of your JVM
45mFaster, greener, and happier- why Quarkus should be your next tech stack
