Mastering GraalVM: booting Hibernate ORM in 5ms and 15MB total memory
summary
GraalVM/SubstrateVM compiles Hibernate ORM into a native binary with 5 ms startup and 15 MB total memory by running build‑time augmentation and native-image static analysis that folds constants, strips unreachable code (one trial removed ~280 classes) and embeds metadata. That requires entity enhancement at build time, generated reflection/resource JSON, Jandex classpath scanning, and avoiding dynamic classloading, JMX, agents and runtime bytecode proxies. Quercus/augmentation plugins produce the bootstrap bytecode; practical failures include unexpected init code in dependencies (e.g. a JDBC driver triggering JavaFX threads).
AI-written summary · about
chapters (10)
- 0:00Start
- 1:49What Is in Native Image
- 2:58How Do You Build a Native Image
- 16:40Limitations
- 28:31Reflection How Does that Impact Hibernate
- 36:53How It Works
- 39:25Live Reloading
- 40:19Demo
- 40:49Configuration File
- 49:45Conclusions
related talks
51mQuarkus and GraalVM: booting Hibernate at supersonic speed, subatomic size
31mBring the action: using GraalVM in production
35mTop 10 Things to Do with GraalVM
56mMaximizing Performance with GraalVM
53mBootiful GraalVM
46mBring the Action: Using GraalVM in Production
40mThe need for speed. What is GraalVM and how can it help you?
49mBuilding native images for fun and profit
