How To Make Your Application Start Faster
summary
Concrete tactics and measured effects: use jaotc/AOT to precompile hot classes (can skip interpreter but may miss peak C2 throughput unless compiled for tiered profiles), use AppCDS/CDS dump to map shared class archives and avoid re-parsing, and prefetch files with mmap+mlock to remove disk I/O. A real Azure case shows prefetching reduces startup from 51s to 43s (≈15%) and P95 from 61s to 49s (≈20%). Note class initialization remains a gap and native-image achieves fastest startup by snapshotting initialized state.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:44What is startup
- 5:40What is state
- 7:41Timeline
- 10:50Guardium
- 16:26VMstat
- 23:08Open JDK
- 23:28Compiler
- 26:08throughput
- 28:01Demo
- 36:56Data Sharing
related talks
42mTechniques for a faster JVM start-up
38mAOT or JIT: Faster Startup or Faster Code?
52mTechniques for a faster JVM start-up
50mAOT or JIT: Faster Startup or Faster Code?
27mHow to Eliminate Java Performance Warmup
46mSimple Tweaks to Get the Most Out of Your JVM
53mFour Approaches to Reducing Java Startup Time
45mFour Approaches to Reducing Java Startup Time: AppCDS, Native Image, Project Leyden, CRaC
