JRuby Roundup: JRuby Team Joins EngineYard, YAML Support, OSGi, Installer
The JRuby community's abuzz with the news: Sun's JRuby team, Charles Nutter, Tom Enebo, and Nick Sieger will join EngineYard. Both Charles and Tom worked on JRuby full time; Nick created tools like Warbler and others, but worked mainly on projects such as Sun's Project Kenai, which uses JRuby and Rails for its web frontend.
Here a quick snapshot of tweets about the move.
EngineYard's Ezra Zygmuntowicz:
i guess the news is out early. The whole 3 person jruby team is leaving sun to come work for Engine Yard. Welcome guys!
So yeah the news it out a little early. @nicksieger, @headius and I are heading to Engine Yard. This is a very good move for JRuby and EY.
Me, @tom_enebo, and @nicksieger are going to Engine Yard! Thanks to all the well-wishers out there! http://ru.ly/i4
Computerworld also has a writeup of the news. EngineYard has recently announced it'll bee adding JRuby hosting support; it is also the official maintainer of Ruby 1.8.6.
Meanwhile, work on improving JRuby's performance continues. Ola Bini wrote Yecht, a new YAML parser. Yecht is faster than JRuby's previous YAML support:
Yecht is now 20 times faster at scanning and 15 times faster at parsing. That makes it about twice as fast as Syck now.
Yecht has already been integrated in the JRuby trunk and replaced its old YAML support.
Update: a correction - as Ola Bini points out in the comments: Yecht isn't necessarily faster than the previous YAML support in JRuby, but is uses less memory and is more compatible with MRI's YAML support.
JRuby users who don't want to manually install JRuby and set up all the required environment variables might be in luck. A discussion on the jruby-dev list led to Daniel Lopez, of BitRock, to create prototypes of installers for Windows, MacOS X and Linux. The BitNami JRubyStack and GitHub:FI are bundled with BitRock installers.
Finally, JRuby users who have trouble running in an OSGi container can look at Tommy McGuire's solution for getting JRuby and OSGi to work together.
Yecht is not faster than JRuby's previous YAML support
Yecht is about twice as fast as Syck, but that is the core parsing engine that does nothing. Once you add on the integration with JRuby, Yecht is about the same speed as MRI's YAML support, although the emitting is faster.
JvYAMLb (the earlier JRuby YAML processor) was a bit faster at loading documents, but it wasn't very compatible with Syck. It was also a memory hog.
So the important things about Yecht is 1: it does exactly the same thing as MRI, and 2: it uses less memory than earlier YAML implementations for JRuby.