This script installs a patched version of ruby 1.9.3-p327 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.
- http://github.com/ruby/ruby/pull/66
- http://github.com/ruby/ruby/pull/68
- http://github.com/ruby/ruby/pull/83
- http://github.com/ruby/ruby/pull/84
OR
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.
If you're using rbenv:
curl https://raw.github.com/gist/1688857/rbenv.sh | sh ; rbenv global 1.9.3-p327-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
If you're feeling adventurous, you can set some additional optimization flags before you run the command above. These make the compiled ruby a little faster, but sometimes cause the build to fail, depending on a lot of different factors.
export CFLAGS="-march=native -O3 -pipe -fomit-frame-pointer"