Kotlin on CRaC – new JVM features to speed things up
summary
Shows concrete numbers and how to reproduce them: CRaC (Coordinated Restore at Checkpoint) with an Azul Zulu CRaC JDK on Linux plus Docker cuts a Spring Boot Kotlin app from ~2.7s cold start to ~0.5s restore (benchmarks sometimes hit ~100ms) using Siege-driven warmup and a saved checkpoint; JEP 483 AOT class loading and JEP 515 AOT method profiling produce an AOT cache that drops a Spring run from ~2.1s to ~1.15s; mocking demo goes ~500ms → ~40ms; limitations: Linux-only CRaC, CRaC requires close/open hooks, AOT needs stable jar-only classpaths so Gradle workflows need workarounds.
AI-written summary · about
chapters (10)
- 0:00JVM performance challenges
- 3:12Slow JVM startup reasons
- 8:50What is CRaC and how it works
- 12:00Live CRaC demo with Spring Boot
- 21:27CRaC backend benefits
- 22:32CRaC for unit tests
- 26:47AOT cache benefits
- 31:49CRaC with Gradle tests
- 37:47Future JVM performance
- 39:12Summary
related talks
53mJava on CRaC: Superfast JVM Application Startup
51mJava on CRaC Superfast JVM Application Startup
46mCRAC vs GraalVM
45mWhat the CRaC - Superfast JVM Startup
53mWhat the CRaC Superfast JVM startup
45mOptimizing Java Startup and Warmup: Exploring the Power of CRaC on Embedded
52mDuke on CRaC with Jakarta EE
53mFour Approaches to Reducing Java Startup Time
