Step up the performance game with Spring Boot and Project Leyden
summary
Fat uber‑jar Spring Boot apps start around 3–5s on a stock JVM; unpacking and using CDS cuts that to roughly 1.5–1.8s and shrinks RSS from ~392MB to ~317MB (~19%); JDK 24’s AOT cache further trims startup to ~1.37s and pairing with Spring AOT reaches ~2.2s in another measurement; Project Leyden’s profiling+code compilation (training run required) produces subsecond startups and up to ~4x speedups. Prerequisites: identical JVM, flat classpath, preserved timestamps, and a training run using spring.context.exit=onRefresh and self-extract jar.
AI-written summary · about
chapters (16)
- 0:00Performance optimization with Spring Boot
- 0:45Runtime efficiency costs
- 2:12CDS AOT cache and Project Leyden
- 5:26Class Data Sharing setup
- 7:10CDS training and deployment demo
- 9:59CDS startup and memory benchmark
- 13:08Spring AOT optimizations
- 17:05CDS in Cloud Native Build Packs
- 19:39AOT cache vs CDS
- 21:52JVM AOT cache demo
- 25:48Leyden profiling and compilation
- 28:40Leyden load-based training demo
- 34:06Project Leyden performance gains
- 35:52CRaC vs AOT cache comparison
- 41:30Trade-offs and approach selection
- 43:13Q&A
related talks
45mSupercharge your JVM performance with Project Leyden and Spring Boot
42mSupercharge your JVM performance with Project Leyden and Spring Boot
41mSupercharge your JVM performance with Project Leyden
45mProject Leyden: Improving Java’s Startup Time
51mSupercharge your JVM performance with Project Leyden
59mRuntime Efficiencies and Spring Boot
52mLean Spring Boot Applications for the Cloud
42mTechniques for a faster JVM start-up
