InfoQ

News

JRuby Roundup: 1.1.3, rcov4jr, Rubinius MVM and FFI

Posted by Werner Schuster on Jul 23, 2008

Community
Java,
Ruby
Topics
JRuby ,
RubyGems ,
Runtimes ,
Software Testing
Tags
Rubinius ,
JRuby ,
MVM ,
RCov
JRuby 1.1.3 has been released, with JRuby versions available for download at Codehaus. The major changes in this maintenance release, from the release notes:
- RubyGems 1.2
- Greatly improved interpreter performance
- jrubyc compiler usability improvements and bug fixes
- Reduced memory usage and object churn
- Dozens of IO-related and core class RubySpec fixes + reduced memory for IO
- ThreadGroup fixes to resolve Mongrel "dead thread" issues
- New options/properties for tweaking JIT, thread pooling, and more
- Block invocation performance improvements
- Much faster Time performance
- Much better support for --debug
- Mentioning that context classloader fix would be nice (since it quite user visible, and many users seen/asked for it). JRUBY-2495
- 82 issues resolved since JRuby 1.1.2

Vladimir Sizikov provides some more information about the changes in JRuby 1.1.3, such as the improvements that come from shipping Ruby Gems 1.2:
In the past, we even had to increase the memory limits for JRuby up to 500Mb so that RubyGems could work without out of memory errors. Not anymore! RubyGems 1.2 is a fantastic release that speed things up dramatically, and JRuby 1.1.3 comes with it by default. Just try it and you'll be amazed, I promise! :) Not only that, but RubyGems 1.2 is much easier to customize to suit the needs of particular implementations/platforms, and we've taken full advantage of that, eliminating essentially all custom JRuby-specific patches over the RubyGems sources.
The number of JRuby libraries and integration support keeps on growing. A new project aims to provide support for Rubinius Foreign Function Interface (FFI). The first mention comes from Charles Nutter in a mail to the jruby-dev list:
Welcome Wayne Meissner! Wayne is one of the primary folks behind JNA, which has totally saved us (chmod, symlink, other posix, UNIX sockets, and more). He's also implemented jruby-ffi, which should have its first release soon...and manages to pass many specs for Rubinius's fully FFI-based zlib.rb.
Wayne Meissner is now a JRuby committer. The Github mirror of the JRuby repository shows a recent commit with the message "Merge branch 'ffi'", and a search for 'ffi' in the commit messages allows to track progress of the FFI support.

Rcov is a popular code coverage tool. Rcov doesn't work on JRuby because it uses native extensions to get notified when a method is invoked. The rcov4jr, hosted in the jruby-extras repository is an attempt to provide rcov on JRuby.

Finally, Charles Nutter has ported the Rubinius MVM API to JRuby. The commit of the JRuby port of the Rubinius MVM API (at the Github mirror of the JRuby repository) shows what's available. InfoQ covered the work on Ruby MVM implementations before.

What MRI-only Ruby libraries do you miss on JRuby?

No comments

Watch Thread Reply

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.