Overview
Explore the potential of Graal JIT compiler for JVM language performance without relying on Truffle in this 55-minute Java conference talk. Delve into recent experiments with JRuby that demonstrate how normal JVM languages can benefit from Graal's capabilities while maintaining traditional implementation methods. Learn how to optimize JRuby for significantly faster performance compared to Hotspot, techniques for leveraging Graal effectively, and the implications for future JVM language development. Gain insights into dynamic language challenges, numeric boxing, transient data structures, frame access, and array operations. Compare JRuby's approach with Truffle Ruby, examining object shaping, frame elimination, and pure-Ruby hashing. Analyze warmup curves and performance metrics to understand the advantages of this optimization strategy. Conclude with a discussion on the future of JRuby and its potential integration with Truffle.
Syllabus
Intro
What's In This Talk
What's Not In This Talk
JRuby Review
Dynamic Everything
Numeric Boxing
Transient Data Structures
Frame Access
Array#each
Java Challenges
Why Use Truffle?
Truffle Ruby Timeline
Different Direction?
Optimizing JRuby
Object Shaping
Frame Elimination
Pure-Ruby Hashing
Versus Truffle Ruby
Warmup Curve: JRuby
Warmup: JRuby vs Truffle Ruby
Performance Notes
Life as a JVM Language
JRuby + Truffle?
Summary
Taught by
Java