What Makes JRuby So Great?

A production JRuby environment has fewer moving parts than traditional Ruby environments. This is possible because of the JVM’s support for native operating system threads. Instead of managing dozens of processes, JRuby can use multiple threads of execution to do work in parallel. MRI has threads, but only one thread can execute Ruby code at a time. Recent versions of MRI, Rails, and other frameworks have improved the platform’s ability to do some work in parallel. But true concurrency on MRI isn’t possible, and the quest for better throughput has led to some complicated solutions.

Deployment with MRI usually requires a type of architecture that handles HTTP requests by placing either Apache[14] or a similar web ...

Get Deploying with JRuby 9k now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.