JRuby: Zero to Scale! π₯
summary
JRuby 9.2.9 claims concrete wins: a recent patch drops memory by 24% on a single-controller Rails app, the oj JSON extension runs about 1.5β3Γ faster than CRuby, and small Sinatra/Roda services hit roughly 4Γ peak throughput after JVM warmup. Expect slower cold startup (use the --dev flag and JVM CDS to cut it), replace C extensions with Java gems or JNI, and profile with VisualVM JDK Flight Recorder or async-profiler.
AI-written summary Β· about
chapters (29)
- 0:00Intro
- 0:42What is JRuby?
- 1:54You Need a JVM
- 2:20Install JRuby
- 5:00Ruby Teams
- 8:10Why Extensions?
- 8:29C Extensions
- 9:52Java Native Extensions
- 11:01Load Performance
- 12:06Dump Performance
- 12:30Scripting Java
- 13:00JRuby IRB
- 14:07Fun Stuff
- 14:55Startup Time
- 15:39JRuby Architecture
- 17:03JRuby Flag: --dev
- 18:06OpenJDK Class Data Sharing
- 18:47App Performance
- 19:32Peak Performance
- 21:53Warmup Time
- 24:58Migration Process
- 25:31Use-Case: Discourse
- 26:49Unsupported Extensions
- 27:49Unsupported Features
- 28:37Missing C Extension
- 30:01Run It puma -t 20:20 -e production
- 32:21JDK Flight Recorder
- 32:37JDK Mission Control
- 37:49During Development
related talks
39mJRuby on Rails: From Zero to Scale
40mJRuby 2018: Real World Performance
55mJRuby in 2018: Building, Deploying, and Scaling Your Apps
30mUsing JRuby: What, When, How, and Why
39mJRuby: What Why How ... Do it Now!
30mScaling Rails with JRuby in 2022
31mExpand your Ruby Potential with JRuby
49mJRuby Everywhere! Server, Client, and Embedded
