← Graph

JRuby: Professional-Grade Ruby

talk 34 connections

Opening talk at wroclove.rb 2026 by Charles Nutter. Explains what JRuby is (Ruby on the JVM), why it opens Ruby up for enterprise adoption, and demonstrates: installing JRuby alongside any JDK via ruby-install; calling Java classes (java.lang.Runtime#availableProcessors, #freeMemory) like Ruby classes with case conversion; Ruby 3.4 compatibility today and Ruby 4.0 arriving in JRuby 10.1 'next week'; deploying via Puma (workers→threads), executable JARs and WAR files on Java application servers via JRuby Rack; the JRuby architecture (Ruby → IR/bytecode → interpreter → JVM bytecode → native via HotSpot, native JIT shipped in 2008); benchmarks (Object.new ~10.3M/s on C Ruby 3.4 + YJIT, ~30% faster with Ruby 4.0's opt_new, orders-of-magnitude faster on JRuby, Mandelbrot >2× faster than C Ruby with YJIT and another 2× on GraalVM); pulling JVM libraries (JFreeChart for 3D charts via jar-file + lock_jars); Glimmer + SWT desktop GUIs; Ruboto for Android; pauseless JVM garbage collectors, VisualVM monitoring; trivial true parallelism with threads vs. C Ruby Ractors (JSON-parse demo: C Ruby threads ~1×, Ractors ~3.7×, JRuby threads ~6× on a 10-core machine); JRuby 10.1 futures (Project Leyden-style pre-optimization, Lilliput object shrinking). Production user spotlights: Quantum Inventions (ships JAR/WAR tools to customers, AOT obfuscation), Poshmark (high-throughput e-commerce flash sales), Kami (Rails front-end with JRuby backend processing millions of PDFs/day), Logstash (massively parallel log aggregation), Substitute Alert (fan-out notifications to substitute teachers in the US). Charles's company Headius Enterprises now funds JRuby development after 18 years of big-company sponsorship ended in 2024. Q&A: what's bad about JRuby (startup time — now ~400ms baseline / 1–1.5s for big rake tasks — and missing C extensions, big ones like Nokogiri/JSON/Psych shipped as JRuby versions), difference vs TruffleRuby (TruffleRuby needs GraalVM, focuses on C extension compat and micro-benchmarks, uses more memory, poor startup; JRuby targets whole ecosystem and has way more deployments), Rails compatibility (yes, adapters for Rails 8.0/8.1 almost ready), deployment on Heroku/Railway (Heroku build pack released each version, works like regular Ruby).

date
2026-04-17
type
talk
talk JRuby: Professional-Grade Ruby
about
JRuby tool
Core subject: JRuby's capabilities, performance, and production use cases.
talk JRuby: Professional-Grade Ruby
about
JRuby Rack tool
Demonstrated as the magic library tying Rails/Sinatra/Hanami to Java app servers.
talk JRuby: Professional-Grade Ruby
about
Puma tool
Noted that Puma works great on JRuby — set workers to number of threads for a fully parallel single process.
talk JRuby: Professional-Grade Ruby
about
Rails runs on JRuby; deployment examples and 8.0/8.1 adapter status discussed.
talk JRuby: Professional-Grade Ruby
about
Hanami tool
Listed among Rack frameworks that deploy the same way on a Java server.
talk JRuby: Professional-Grade Ruby
about
Q&A compares JRuby to TruffleRuby on GraalVM.
talk JRuby: Professional-Grade Ruby
about
GraalVM tool
Shows Mandelbrot benchmark ~2× faster on JRuby under GraalVM than on a standard JDK.
talk JRuby: Professional-Grade Ruby
about
YJIT tool
Benchmarks JRuby against C Ruby 3.4 + YJIT for Object.new and Mandelbrot.
talk JRuby: Professional-Grade Ruby
about
Discusses Ruby 4.0's opt_new VM instruction improving object construction ~30% on C Ruby.
talk JRuby: Professional-Grade Ruby
about
C Extensions concept
One of JRuby's three main pitches: no C build tools on target systems; extensions are pre-compiled Java bytecode.
talk JRuby: Professional-Grade Ruby
about
Highlights JVM GCs, including pauseless configurations, as a JRuby advantage.
talk JRuby: Professional-Grade Ruby
about
Centrepiece JSON demo comparing C Ruby threads, Ractors, and JRuby threads.
talk JRuby: Professional-Grade Ruby
about
VisualVM tool
Screenshot demo of monitoring a running JRuby app via VisualVM.
talk JRuby: Professional-Grade Ruby
about
JFreeChart tool
Live example of pulling a JVM charting library into JRuby to make a 3D PNG chart in ~10 lines.
talk JRuby: Professional-Grade Ruby
about
Glimmer tool
Mentions Glimmer + SWT as an easy way to build portable desktop GUIs on JRuby.
talk JRuby: Professional-Grade Ruby
about
SWT tool
JRuby + SWT used for portable GUI apps packaged as JAR files.
talk JRuby: Professional-Grade Ruby
about
Ruboto project
Mentions Ruboto (Android APIs) and the Ruboto IRB demo; looking for collaborators to update it.
talk JRuby: Professional-Grade Ruby
about
Production user spotlight: ships JAR/WAR tools with AOT obfuscation.
talk JRuby: Professional-Grade Ruby
about
Poshmark company
Production user spotlight: high-throughput e-commerce with flash sales.
talk JRuby: Professional-Grade Ruby
about
Kami company
Production user spotlight: JRuby backend processing millions of PDFs/day for a Rails education app.
talk JRuby: Professional-Grade Ruby
about
Logstash tool
Production user spotlight: enterprise-scale parallel log aggregation on JRuby.
talk JRuby: Professional-Grade Ruby
about
Production user spotlight: US substitute-teacher notification service relying on JRuby concurrency.
talk JRuby: Professional-Grade Ruby
about
Heroku tool
Q&A: Heroku ships a JRuby build pack with every JRuby release.
asked_at
JRuby: Professional-Grade Ruby talk
First Q&A question after the talk.
asked_at
JRuby: Professional-Grade Ruby talk
Second Q&A question.
asked_at
JRuby: Professional-Grade Ruby talk
Third Q&A question.
asked_at
JRuby: Professional-Grade Ruby talk
Final Q&A question of the session.
asked_at
JRuby: Professional-Grade Ruby talk
Joking lead-in to the Heroku question.
authored
JRuby: Professional-Grade Ruby talk
Charles Nutter delivered the talk at wroclove.rb 2026.
from_talk
JRuby: Professional-Grade Ruby talk
Core framing of the talk: JRuby dissolves enterprise objections to Ruby.
from_talk
JRuby: Professional-Grade Ruby talk
JFreeChart demo and call-to-action for pulling JVM libraries into Ruby.
from_talk
JRuby: Professional-Grade Ruby talk
Raised in Q&A on 'what's bad about JRuby'.
talk JRuby: Professional-Grade Ruby
presented_at
Opening talk of the conference.
related_to
JRuby: Professional-Grade Ruby talk
Notes JRuby implementation differences sometimes require workarounds when using refinements.

Provenance

Created
2026-04-17 16:18 seed
Read by
24 extractions