

Ruby compiled with Clang is 8% faster than with GCC 4.9, 44% faster than GCC 4.7 - gandalfar
http://cirandas.net/brauliobo/blog/ruby-compiled-with-clang-is-8-faster-than-with-gcc-4.9-and-44-faster-than-with-gcc-4.7.2

======
izietto
Frankly I don't trust in "5% boost, 20% boost, 44% faster" claims without
knowing how the benchmark was performed.

~~~
cbsmith
I'd also wonder about a project that should have been tuned for a particular
compiler really getting that much faster between versions of that compiler...

------
joevandyk
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.

~~~
fbernier
Using [https://github.com/postmodern/ruby-
install](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...](https://github.com/wayneeseguin/rvm/blob/master/patchsets/ruby/2.1.5/railsexpress)

    
    
      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](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.

------
mrinterweb
I agree with most of the comments here that 44% faster sounds way too good to
be true. Perhaps there is some micro-benchmark where this gain was perceived.
A more through blog post to substantiate or disprove these performance gains
would be welcome.

------
jbert
It'd be really interesting to see the methodology used when gains like this
are reported, because it's potentially really interesting stuff but without
knowing what was measured and changed, it's hard to give it weight.

Which is a shame, because it's probably really useful.

i.e. what's the workload. what was the performance metric which improved. any
detail you can give about the likely bottleneck of the system, etc.

------
krisdol
What, exactly, is faster? Why does this have 50 points when there is no
content?

------
longlivegnu
>ruby >speed

ok.

