JRuby 9000 is the new version of JRuby, representing years of effort and
large-scale reboots of several JRuby subsystems.
Major features of JRuby 9000:
Ruby 2.2 compatibility, minus features listed below
A new optimizing runtime based on a traditional compiler design
New POSIX-friendly IO and Process
Fully ported encoding/transcoding logic from MRI
This is a preview release, and we know there’s work to do. We are
releasing
now to get user feedback on Ruby 2.2 functionality and overall
stability.
We hope all Ruby users will try out this release and report issues on
our
issue tracker at http://bugs.jruby.org. We also encourage users to join
our
IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.
Ruby 2.2 features yet to be implemented:
Refinements #1062
Enumerator#feed
Kernel#spawn close-on-exec support
ObjectSpace::WeakMap#each and Enumerable inclusion
ObjectSpace::count_objects
Thread#handle_interrupt is not yet fully functional
POSIX-friendly IO, TTY, and Process logic is not used on Windows
We also have additional work to do on the new runtime:
Startup time is a bit slower.
Memory usage is higher.
Straight-line performance is a little bit slower.
The new runtime gathers more information about Ruby code and performs
more
analysis and optimization than our old runtime. There’s great potential
here to bring Ruby performance to native Java or C, but we are just
starting the optimization phase of that work. We will do our best to get
startup time, memory use, and performance on par with 1.7.x (or better)
before the final release of JRuby 9000.
Truffle
JRuby 9000 includes an in-development version of support for the Truffle
language implementation framework and Graal VM from Oracle Labs. In
future
releases, Truffle will provide an extremely high performance and
compatible
backend for JRuby. The Truffle backend supports all Ruby language
features,
but so far only some of the core and standard libraries. It has no
support
for RubyGems or Rails, does not work on Windows, and is not ready to be
tested with applications at this stage. More information on Truffle and
Graal can be found in the JRuby Wiki.
Thank you very much for this release and all your work on it! Have been
looking forward to it for quite some time - will give it a spin and
report what I find
9k - here we go!
On 20.01.2015 22:43, Thomas E Enebo wrote:
Thread#handle_interrupt is not yet fully functional
potential here to bring Ruby performance to native Java or C, but we
supports all Ruby language features, but so far only some of the core
and standard libraries. It has no support for RubyGems or Rails, does
not work on Windows, and is not ready to be tested with applications
at this stage. More information on Truffle and Graal can be found in
the JRuby Wiki.
JRuby 9000 is the new version of JRuby, representing years of effort and
large-scale reboots of several JRuby subsystems.
Major features of JRuby 9000:
Ruby 2.2 compatibility, minus features listed below
A new optimizing runtime based on a traditional compiler design
New POSIX-friendly IO and Process
Fully ported encoding/transcoding logic from MRI
This is a preview release, and we know there’s work to do. We are
releasing now to get user feedback on Ruby 2.2 functionality and overall
stability.
We hope all Ruby users will try out this release and report issues on
our issue tracker at http://bugs.jruby.org. We also encourage users to
join our IRC channel (#jruby on Freenode) and mailing lists. You may
also follow @jruby on Twitter for updates.
Ruby 2.2 features yet to be implemented:
Refinements #1062
Enumerator#feed
Kernel#spawn close-on-exec support
ObjectSpace::WeakMap#each and Enumerable inclusion
ObjectSpace::count_objects
Thread#handle_interrupt is not yet fully functional
POSIX-friendly IO, TTY, and Process logic is not used on Windows
We also have additional work to do on the new runtime:
Startup time is a bit slower.
Memory usage is higher.
Straight-line performance is a little bit slower.
The new runtime gathers more information about Ruby code and performs
more analysis and optimization than our old runtime. There’s great
potential here to bring Ruby performance to native Java or C, but we are
just starting the optimization phase of that work. We will do our best
to get startup time, memory use, and performance on par with 1.7.x (or
better) before the final release of JRuby 9000.
Truffle
JRuby 9000 includes an in-development version of support for the Truffle
language implementation framework and Graal VM from Oracle Labs. In
future releases, Truffle will provide an extremely high performance and
compatible backend for JRuby. The Truffle backend supports all Ruby
language features, but so far only some of the core and standard
libraries. It has no support for RubyGems or Rails, does not work on
Windows, and is not ready to be tested with applications at this stage.
More information on Truffle and Graal can be found in the JRuby Wiki.