3 ms·
Ruby compiled with Clang is 8% faster than with GCC 4.9, 44% faster than GCC 4.7
- joevandyk 12y agoIt 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 12y agoUsing 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/ruby/2.1.5/railsexpress 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 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.
- tedunangst 12y agoIn 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?
- longlivegnu 12y ago>ruby >speed ok.
- jbert 12y agoIt'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.
- izietto 12y agoFrankly I don't trust in "5% boost, 20% boost, 44% faster" claims without knowing how the benchmark was performed.
- cbsmith 12y agoI'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...
- mrinterweb 12y agoI 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.
- krisdol 12y agoWhat, exactly, is faster? Why does this have 50 points when there is no content?