Patched ruby 1.9.3-p286 for 30% faster rails boot
This script installs a patched version of ruby 1.9.3-p286 with boot-time performance improvements (#66 and #68), and runtime performance improvements (#83 and #84). It also includes the new backported GC from ruby-trunk.
Many thanks to funny-falcon for the performance patches.
You will also need a C Compiler. If you're on Linux, you probably already have one or know how to install one. On OS X, you should install XCode, and
brew install autoconf using homebrew.
Ok, let's do this!
If you're using rbenv:
curl https://raw.github.com/gist/3885178/rbenv.sh | sh ; rbenv global 1.9.3-p286-perf
If you're using rvm:
rvm get head && rvm reinstall 1.9.3-perf --patch falcon --force-autoconf -j 3
Putting the following in your shell config (eg.
~/.bash_profile) will make Rails even faster, but will increase its memory footprint:
export RUBY_HEAP_MIN_SLOTS=1000000 export RUBY_HEAP_SLOTS_INCREMENT=1000000 export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1 export RUBY_GC_MALLOC_LIMIT=100000000 export RUBY_HEAP_FREE_MIN=500000
Also, you might want to try out Zeus, which takes advantage of the patched GC to preload your rails app. It can effectively boot your tests (and consoles, servers, runners...) in half a second, no matter the size of your app.