Hacker News new | ask | show | jobs
by joevandyk 4206 days ago
It would be neat to get a step-by-step list of what he did to compile this version of Ruby, what GC variables he used, etc.
2 comments

Using https://github.com/postmodern/ruby-install it's pretty easy:

  ruby-install ruby 2.1.5 -- CC=clang
and if you want to include all the patches listed here: https://github.com/wayneeseguin/rvm/blob/master/patchsets/ru...

  ruby-install ruby 2.1.5 -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/01-zero-broken-tests.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/02-improve-gc-stats.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/03-display-more-detailed-stack-trace.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/04-show-full-backtrace-on-stack-overflow.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/05-funny-falcon-stc-density.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/06-funny-falcon-stc-pool-allocation.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/07-aman-opt-aset-aref-str.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/railsexpress/08-funny-falcon-method-cache.patch -- CC=clang
and you can use it with https://github.com/postmodern/chruby if you need to to switch between versions.

As for GC, I am not sure it makes much of a difference as it used to back in the days. Probably even less when 2.2 ships with incremental garbage collection. It always depends on the type of work your app does also.

In particular, it sounds like gcc 4.7 was running on debian and gcc 4.9 was on ubuntu? So not different compilers, but different everythings?