# Patched ruby 1.9.3-p194 for 30% faster rails boot ### Overview This script installs a patched version of ruby 1.9.3-p194 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. * https://github.com/ruby/ruby/pull/66 * https://github.com/ruby/ruby/pull/68 * https://github.com/ruby/ruby/pull/83 * https://github.com/ruby/ruby/pull/84 ### Requirements * [rbenv](https://github.com/sstephenson/rbenv/) * [ruby-build](https://github.com/sstephenson/ruby-build/) OR * [rvm](https://github.com/wayneeseguin/rvm/) 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](https://github.com/mxcl/homebrew). ### Ok, let's do this! If you're using **rbenv**: ```sh curl https://raw.github.com/gist/1688857/rbenv.sh | sh ; rbenv global 1.9.3-p194-perf ``` If you're using **rvm**: ```sh rvm get head && rvm reinstall 1.9.3-perf --patch falcon --force-autoconf -j 3 ``` ### BONUS! 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](https://github.com/burke/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.