With help for Java 21, the newest long-term help model of Java, JRuby strikes previous Java 8 help and begins integration of Java 21 options. The JRuby workforce plans to deliver 10 years of JVM enhancements to Ruby customers. Addressing gradual startup occasions, which has been known as the primary criticism from JRuby customers, JRuby 10 leverages newer JVM options together with:
- Utility class knowledge retailer (AppCDS) – an OpenJDK function that enables pre-caching code and metadata throughout startup to scale back the price of future instructions.
- Undertaking CRaC (Coordinated Restore at Checkpoint) – an experimental function that enables customers to “checkpoint” a operating course of and launch a number of future processes by restoring that checkpoint.
- Undertaking Leyden – an OpenJDK venture to enhance the startup time, time to peak efficiency, and footprint of Java packages. The JRuby workforce will incorporate Leyden flags into JRuby’s launcher as they turn out to be obtainable.
These options, mixed with the diminished overhead --dev
flag, supply the fastest-ever startups for JRuby, Nutter stated.
Compatibility with Ruby 3.4, in the meantime, has allowed the JRuby workforce to implement Ruby 3.2, Ruby 3.3, and Ruby 3.4 options in JRuby 10. The brand new JRuby launch runs full invokedynamic optimization by default, offering the perfect obtainable efficiency on JRuby scripts and functions with out passing further flags. Earlier variations of JRuby ran by default in a “center tier” of optimization, utilizing invokeddynamic optimization solely for easy Ruby operations.