JRuby is a Java implemenation of the Ruby language that claims to be the fastest Ruby interpreter available and it has just reached version 1.5. What's new and what's important?
After a long development cycle JRuby 1.5.0 has been released. The JRuby website claims that it incorporates a great many fixes -1,300 revisions and 432 bug fixes to be precise - but also some new notable features. JRuby already claims to be fast and the new version has been further optimised. Given that JRuby has access to any Java libraries and it runs on any platform that has a JVM it is clearly a serious alternative. If you are looking to try a dynamic language then JRuby is an excellent choice.
The main improvements in the new version are:
With the new release comes news of the first commercial support for JRuby. Engine Yard, a company that includes four of the core JRuby developers, now offers support for JRuby 1.5 and a range of libraries and components.
- Better Ruby compatibility
- Improved Java library efficiency
- Easier Windows installation and use.
- New native access framework designed for performance and better FFI support
- Native launcher for *NIX platforms
- Ant support and Rake-Ant integration
- Better and better support for Windows
- Multiple performance improvements for Ruby-to-Java calling, improving correctness, memory, and speed.
- Embedding API improvements based on user input (JSR-223, BSF, RedBridge, etc)
- Software updates: Ruby 1.8.7 standard library update, RubyGems 1.3.6, RSpec 1.3.0
- ruby-debug installed by default
- Many fixes for Rails 3
- Various improvements to startup time
- Improved performance for Object#object_id/__id__
- Reduced memory use for Java class metadata and faster loading of Java classes
- jar-in-jar support in the classloader
- The “open4” library now works properly
- jruby.jit.codeCache=dir to save jitted scripts/methods to disk in a sha1-hashed .class file
- New logic for interface implementation that produces “real” classes
- jruby.ji.objectProxyCache to turn off OPC for extra performance
- JRuby::Synchronized module for making a class and its subclasses 100% synchronized on all calls
- Miscellaneous perf improvements to core classes and minor improvements in the JIT
- No more ObjectSpace during IRB
- Cleaned up maven artifacts
- Windows Installer fixes for x64 and Windows 7 security