With assist for Java 21, the newest long-term assist model of Java, JRuby strikes previous Java 8 assist and begins integration of Java 21 options. The JRuby crew plans to convey 10 years of JVM enhancements to Ruby customers. Addressing sluggish startup instances, which has been referred to as the primary criticism from JRuby customers, JRuby 10 leverages newer JVM options together with:
- Utility class information retailer (AppCDS) – an OpenJDK function that enables pre-caching code and metadata throughout startup to cut back the price of future instructions.
- Mission 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.
- Mission Leyden – an OpenJDK undertaking to enhance the startup time, time to peak efficiency, and footprint of Java packages. The JRuby crew will incorporate Leyden flags into JRuby’s launcher as they turn into obtainable.
These options, mixed with the diminished overhead --dev
flag, supply the fastest-ever startups for JRuby, Nutter mentioned.
Compatibility with Ruby 3.4, in the meantime, has allowed the JRuby crew 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 one of the best obtainable efficiency on JRuby scripts and functions with out passing extra flags. Earlier variations of JRuby ran by default in a “center tier” of optimization, utilizing invokeddynamic optimization solely for easy Ruby operations.