Leveraging the Modern JVM: How JVM Languages Benefit from Loom, Panama, and More
summary
JRuby ports Ruby to the JVM and demonstrates concrete uses of new JVM features: invokeDynamic 3.7× speedups on some benchmarks and up to ~4× versus old JVMs, replacing per-fiber native threads with 100k fibers using Project Loom virtual threads, calling C with Panama JExtract to eliminate JNI overhead, and experimenting with AOT / snapshot strategies toward Project Leyden for fast startup. Demos include mandelbrot and red‑black tree benchmarks and real JRuby patches (jffi, jnr ffi, enxio).
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:50Charles Oliver Nutter
- 6:59Ruby Differences from Java
- 10:04Dynamic Challenges
- 12:08InvokeDynamic in JRuby
- 13:39InvokeDynamic Evolution
- 21:17Project Loom
- 23:07Native Functions and Memory
- 24:06Java Native Runtime
- 26:05Problems With JNI
- 27:12Native getpid Benchmark
- 27:48Project Panama
- 30:38Startup Time
- 31:29JRuby Architecture
- 33:27A Little Bit Hacky
- 33:59Ahead-of-time Compilation?
- 35:19Snapshot a Warm' JVM?
- 37:01For Java Developers
related talks
54mLeading Edge! Changing the Java World
47mBeyond JVM: How the Platform is Evolving for new Languages & Features
47mWhy JRuby Works
53m20 Years of JRuby - Where We've Been and Where We're Going
31mExpand your Ruby Potential with JRuby
47mJava Renaissance
45mBeyond the Hype: Unpacking the Latest Features of JDK
57mJava Next - From Amber to Valhalla, from Loom to Leyden, from Babylon to Panama
