Ruby 1.9.1 Released – First Production Release of the Fastest Ruby Ever!
2012 update: Still not up to speed with Ruby 1.9? Check out the Ruby 1.9 Walkthrough for a 3 hour guide to the details :-)
Years of hard work reached a crescendo today as Yuki Sonoda announced the release of Ruby 1.9.1, the first stable release of the Ruby 1.9 series of MRI. In effect, 1.9.1 replaces 1.8.7 as the latest stable release of "Matz's" Ruby interpreter although (as we'll cover below) it's not entirely that simple.
We'll be doing a roundup of Ruby 1.9 related links and resources soon here on Ruby Inside, but if you want to get up to speed with what Ruby 1.9 is all about right now, I'd recommend checking out the Migrating to Ruby 1.9 presentation by Bruce Williams, Ruby 1.9: What to Expect by Sam Ruby, and James Edward Gray's Getting Code Ready for Ruby 1.9. Mauricio Fernandez's Changes in Ruby 1.9 is a more exhaustive list and is still pretty good although it was last updated over a year ago.
The official download information is as follows (ruby-lang.org MAY still be down, so scroll down further for a link to our mirror!):
SIZE: 7190271 bytes
SIZE: 9025004 bytes
SIZE: 10273609 bytes
If ruby-lang.org is still down or is as slow as ever, you can alternatively download our mirror of ruby-1.9.1-p0.tar.bz2 (http://www.rubyinside.com/files/ruby-1.9.1-p0.tar.bz2) - be aware that this is a bzip2 file and it may be taken down within the next few weeks (in which case, just use the ruby-lang links). Thanks to syd_ - Scott Wisely - for providing us with the file.
It's fast, but you shouldn't be..
Just a month ago, Antonio Cangiano ran some benchmarks against a Ruby 1.9.1 preview versus several other Ruby interpreters. Ruby 1.9.1 clocked in at at least twice as fast as Ruby 1.8.7. This is great progress and will tone down some of the "but Ruby is slow" type arguments that have gone around, even though in the grand scheme of things it barely makes a dent.
While Ruby 1.9.1's speed is alluring to existing 1.8 users, however, unless you're dead sure of what you're doing, definitely do not expect to be using Ruby 1.9.1 as your production version of Ruby right away! A lot of libraries and gems will not work with it and code that runs may not necessarily be operating properly (this is where tests come in very handy!) In short, go get Ruby 1.9.1 (unless on Windows - in which case you should wait for a new One Click Installer), check it out, test your code against it (Dr Nic has written a great guide about this), see which gems don't work, and generally use it as a "stick in the sand" to measure a future migration against.
You'll see a lot of blog posts coming along in the next few weeks and months regarding efforts to bring existing libraries up to 1.9.1 standards. Help out where you can, file bug reports, and keep an eye out on the general consensus. We'll be looking at this closely too and keeping you up to date with progress here on Ruby Inside.
JRuby To Adopt 1.9.1 Standards in JRuby 1.2
Ever proactive, Charles Nutter of the JRuby team was quick to tentatively promise Ruby 1.9.1 support in JRuby 1.2, to come in late February:
Now that the stable release is out, we will pull 1.9.1 stdlib into JRuby. We'll ship our 1.9.1-compatible (mostly? hopefully?) release of JRuby 1.2 in late February.
Thankfully, 1.8 support will not be evaporating any time soon, however:
JRuby will remain at 1.8.6 compatibility (in 1.8 mode) until such time that users let us know that they want support for 1.8.7+ features.