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.
Other Posts That Might Interest You

