New REE with OS X, 64-bit, Solaris support and GC patches

Posted by David December 05, 2008 @ 05:07 PM

Phusion is on a roll today. Not only did we just get a new Passenger, they’ve also just dropped a new REE (the Ruby patches for copy-on-write) that includes 64-bit support as well as compatibility with OS X and Solaris. They’ve also fitted the excellent RailsBench patches from Stefan Kaes that allows you to tweak the GC settings in Ruby if you need to.

This edition was sponsored by 37signals, Curve21, Dr Dispatch Transportation Software, InfoEther, Martian Interactive, New York Times, Shopify, Trevor Turk, and Utah Imaging.

Posted in Releases | 8 comments

Comments

  1. Jørgen Orehøj Erichsen on 05 Dec 21:59:

    The new REE version rocks!

    Check out my blog post on how the new version of REE and GC tuning reduced my spec suite runtime from 11 minutes, 10 seconds to 3 minutes, 29 seconds:

    http://blog.erichsen.net/2008/12/05/how-ree-and-gc-tuning-reduced-spec-suite-runtime-to-one-third/

    /Jørgen

  2. Brendan on 06 Dec 13:25:

    Is the 64-bit support for all software platforms that are on 64-bit bare metal or 64-bit virtual machinery (including but not limited to, say, Mac OS X Leopard running, on the current Apple Xserve or MacPro 2008 tower)?

  3. Tom Simnett on 06 Dec 19:29:

    It’s probably been mentioned somewhere before, but is there any reason that REE can’t overwrite any version installed in /usr/local or if using the debian package, in the relevant place? It strikes me that if it’s 100% compatible it should be a drop-in replacement.

    If it’s not sensible for some reason, then that’s fine too. Just trying to figure it all out :)

    Tom

  4. Hongli Lai on 07 Dec 12:26:

    @Tom: REE is 100% compatible with Ruby 1.8.6-p230, on which it is based. But installing to /usr (thereby overwriting the system’s version) is still risky. Different distros ship with different Ruby versions. Ubuntu 8.04 ships with Ruby 1.8.6-p111 while Ubuntu 8.10 ships with 1.8.7. These versions have minor incompatibilities. So for safety reasons, REE does not overwrite them by default. We chose to install to a self-contained directory in /opt in order to make uninstallation easy. If it’s installed to /usr/local then its files will be scattered all over the place, making uninstallation hard.

  5. Mitchell Geere on 07 Dec 21:17:

    I think it would be awesome if REE could be included into the Rails core, making it a standard as opposed to an extension. Anyone have ideas on this?

  6. Tom on 07 Dec 23:49:

    @Hongli Lai: Thanks for the explanation. Personally, I’d prefer to install over the top, knowing that the version I’m installing is 1.8.6-p230-ee or some such version, which supercedes the standard p230 that “might” be in a distribution. Part of the reason for this is that the debian version can use the right namespace for gems including gems that are ubuntu/debian packages. Apart from that, I’d rather only have one version of ruby installed on my machine, and I see no reason for a .deb with sources to install anywhere but to the right place in the FHS.

    @Mitchell Geere: From what I understand this is the final goal, but it takes quite a lot of work to merge changes back upstream, and a huge amount of testing. It’ll happen, at some point soon.

  7. Frank DENIS on 08 Dec 19:03:

    It would be nice to have an option to disable building with tcmalloc, for systems it doesn’t work on like OpenBSD.

  8. Dan on 11 Dec 15:06:

    @Tom. I prefer the separate compartmentalized installation myself. It allows me to rollback much easier or try something that is new without touching the production copy. I like having a copy of ruby 1.8 and a copy of ruby 1.9 installed at the same time; it lets me switch environments quickly without having to have a separate box.

    I’d leave the OS version alone instead of overwriting it … or just uninstall it if you don’t need it, then you will reach your goal of only having one version installed.

    Thanks for making upgrades safe and easy Phusion :-)