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
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.
curl https://raw.github.com/gist/1688857/rbenv.sh | sh ; rbenv global 1.9.3-p327-perf
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 compile flags before you run the command above. These may cause the build to fail. If so, you can try again without the march
flag, and it'll probably work. This generally makes my ruby ~1-1.5% faster. See http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel for more guidance.
export CFLAGS="-march=native -O3 -pipe -fomit-frame-pointer"