RailsConf Europe Wednesday morning wrap-up – JRuby
Sep 19th, 2007 by Robert Dempsey - Tags: railsconfeurope
Thank God for a continuous flow of coffee and multiple cafe’s on every block. I love Berlin! Things are as hectic today as they have been everyday.
The second half of this morning brought a talk on JRuby from Ola Bini, one of the JRuby development team. Ola’s presentation had a lot of material, so allow me to summarize:
What’s wrong with Ruby today?
- Green threading
- Partial Unicode support
- Speed (slow)
- Memory management, specifically the garbage collector
- C language extensions
- Politics (you want me to switch to what?)
- Legacy (Java is everywhere)
What is JRuby?
- Java implementation of Ruby
- At version 1.0.1
- Based on Ruby 1.8.5
- 6 core developers, open source, close to 40 contributors
- Commercial backing from Sun and ThoughtWorks
What can JRuby do?
- All ?��Ǩ?�pure Ruby?��Ǩ�� code works (with some caveats)
- Rake and rubyGems run well
- Rails works almost perfectly
What can’t JRuby do?
- Deterministic threading
- Continuations
- Some file system operations
- Forking, and other POSIX ilk
So, how does JRuby solve the stated problems with Ruby?
- Native threading
- Scaling across processors and cores
- Concurrent execution
- Thread scheduling
- No politics – just another Java library
What challenges does JRuby face?
- Performance of unit tests
- It’s not “free” to run both JRuby and MRI (Matz’s interpreter)
- Start-up time (especially with Rails)
- JRuby regular expressions have different performance characteristics
- YAML isn’t stable yet
- High memory consumption (but still less than Mongrel)
- Good replacement for RMagick is needed
- Lack of documentation
It was a great session with a lot of information. Hopefully Ola will have his slides posted to the RailsConf Europe site.
You can leave a response, or trackback from your own site.
Thanks for providing such good summaries of what is going on at RailsConf Europe.
What exactly is meant by ‘It√¢‚Ǩ‚Ñ¢s not √¢‚Ǩ≈ìfree√¢‚Ǩ¬ù to run both JRuby and MRI (Matz√¢‚Ǩ‚Ñ¢s interpreter)’ “free” in what way? Did the JRuby team give any feedback on the next set of milestones and goal dates?
Gavin,
Although Ola didn’t expand on this I believe he meant that there is overhead in running both on the same box. As for milestones and goals, nothing specific was told to us.
I could probably have been a little more explicit about that. What I meant is that it’s not free to develop an application that runs on both MRI and JRuby. There is a cost in supporting both platforms, since there are a few places where you need to code specific code for MRI or JRuby. Hope that clears it up.
Thanks for the clarification Ola, and great presentation too!