Twitter's quest for a wholly Graal runtime
summary
Twitter runs services on Graal and reports 11% CPU savings versus C2 on the Tweet service (Finagle/Scala) using dedicated machines and JVMCI, with ~2.7% fewer young GCs and ~40MB extra heap plus 10–30MB metaspace. Four bugs surfaced and were fixed: a class-initializer static-field parsing bug (≈31 lines), a bytecode-snippet crash caused by heap-ster instrumentation requiring 65-file, 2700-line changes, and a bytes-reversal canonicalization error fixed in tests; Graal runs 100% in production via Graal via JVMCI on JDK9.
AI-written summary · about
chapters (10)
- 0:00Introduction and background
- 3:22Twitter’s services and goals
- 5:29Why replace C2 with Graal
- 12:08Bugs found while testing Graal
- 25:45Performance testing setup
- 29:27CPU and garbage collection results
- 35:27Production deployment at Twitter
- 37:59Cost savings and scalability
- 42:43Future support and development
- 48:33Q&A session
related talks
50mTwitter's quest for a wholly Graal runtime
54mTwitter's quest for a wholly Graal runtime
41mTwitter’s Quest for a Wholly Graal Runtime
56mPerformance tuning Twitter services with Graal and Machine Learning
54mPerformance tuning Twitter services with Graal and Machine Learning
34mPerformance Tuning Twitter Services With Machine Learning, Part 2 JIT and GC
41mGraal: How to use the new JVM JIT compiler in real life
40mScala ♥ Graal
