Benchmarking JVM Warm-Up Performance
summary
Benchmarks compare HotSpot (AdoptOpenJDK), GraalVM 20.2 and OpenJ9 using a JMH Sudoku backtracker run for 21,000 iterations, 20 forks and 12 runs (5.04 million solves per JVM) on an Ubuntu VM (8 vCPU, 8 GB). Epsilon/no-op GC and pre-touch flags minimize interference. OpenJ9 warms fastest initially — ~150 iterations for a 90% drop vs HotSpot ~700 iterations — but HotSpot and Graal outperform OpenJ9 after ~600 iterations. OpenJ9 AOT starts at peak speed; JITWatch and runtime logs show early inlining as the main warm-up driver.
AI-written summary · about
chapters (19)
- 0:00JVM warm-up benchmarking intro
- 1:19JVM internals and warm-up
- 2:25Compare JVM warm-up performance
- 4:32Java heap and GC
- 6:41JIT vs AOT compilation
- 8:25Pitfalls in Java benchmarks
- 11:33JMH to avoid flaws
- 12:58Custom JVM warm-up test
- 13:39Test setup details
- 15:51JVM configs for benchmarking
- 18:40Warm-up test results
- 19:42HotSpot JVM warm-up
- 20:48GraalVM warm-up
- 21:50OpenJ9 warm-up behavior
- 23:36Compare JVM execution times
- 24:41Warm-up speed differences
- 27:09AOT vs JIT impact
- 27:52JIT compiler actions
- 30:41Conclusion
related talks
06mSimple Tweaks to Get the Most Out of your JVM
33mCloud Native Java with OpenJ9: Fast, lean and definitely mean
46mKeeping Your Java Hot by Solving the JVM Warmup Problem
01h 03mKeeping Your Java Hot.
48mA journey to JVM Excellence: Navigating JDKs and JVMs
54mKeeping Your Java Hot by Solving the JVM Warmup Problem
46mSimple Tweaks to Get the Most Out of Your JVM
42mSimple tweaks to get the most out of your JVM
