Paul Krill
Editor at Large

JRuby 10 brings faster startup times

news
Apr 15, 20253 mins

Latest version of the Ruby implementation for the JVM also updates Java version support and Ruby language compatibility.

Ruby, gem, programming language - shutterstock
Credit: Finesell/Shutterstock

JRuby 10, the latest release of the Ruby language variant built atop the JVM, has arrived, bringing startup time improvements, support for Java 21, and compatibility with Ruby 3.4.

Release of JRuby 10 was announced April 14. JRuby 10 can be downloaded from jruby.org.ย 

JRuby 10 offers up-to-date Ruby compatibility, support for modern JVM features, and a cleanup of internal code and external APIs, making it the most important JRuby release ever, according to JRuby core team member Charles Oliver Nutter.

With support for Java 21, the most recent long-term support version of Java, JRuby moves past Java 8 support and begins integration of Java 21 features. The JRuby team plans to bring 10 years of JVM enhancements to Ruby users. Addressing slow startup times, which has been called the number one complaint from JRuby users, JRuby 10 leverages newer JVM features including:

  • Application class data store (AppCDS) โ€“ an OpenJDK feature that allows pre-caching code and metadata during startup to reduce the cost of future commands.
  • Project CRaC (Coordinated Restore at Checkpoint) โ€“ an experimental feature that allows users to โ€œcheckpointโ€ a running process and launch multiple future processes by restoring that checkpoint.
  • Project Leyden โ€“ an OpenJDK project to improve the startup time, time to peak performance, and footprint of Java programs. The JRuby team will incorporate Leyden flags into JRubyโ€™s launcher as they become available.

These features, combined with the reduced overhead --dev flag, offer the fastest-ever startups for JRuby, Nutter said.

Compatibility with Ruby 3.4, meanwhile, has allowed the JRuby team to implement Ruby 3.2, Ruby 3.3, and Ruby 3.4 features in JRuby 10. The new JRuby release runs full invokedynamic optimization by default, providing the best available performance on JRuby scripts and applications without passing additional flags. Previous versions of JRuby ran by default in a โ€œmiddle tierโ€ of optimization, using invokeddynamic optimization only for simple Ruby operations.

JRuby can be deployed on Linux, macOS, Windows, and other platforms such as Solaris and BSD. Applications can be deployed alongside enterprise Java apps using Spring or Jakarta EE. Also, quick updates are planned to address last-minute issues. Developers can file bugs seen while testing JRuby 10 at a JRuby GitHub page.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorldโ€™s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorldโ€™s audience of software developers and other information technology professionals. Paul has won a โ€œBest Technology News Coverageโ€ award from IDG.

More from this author