On Fri, 2008-08-15 at 02:19 +0900, kevin nolan wrote: > After compiling Ruby 1.8.6 with '-O3 -mtune=K8 -march=K8' on an AMD > 4800+, I decided to run Antonio Cangiano's benchmark suite to see what > performance gain, if any, the new interpreter realized. Needless to > say I was impressed with the results. The specifics: > > control: ruby 1.8.6 (2007-09-24 patchlevel 111) [x86_64-linux] > (apt-get install ruby) > test: ruby 1.8.6 (2008-08-11 patchlevel 287) [x86_64-linux] > (source compiled with '-O3 -mtune=K8 -march=K8') > kernel: 2.6.24-19-server > test-suite: git://github.com/acangiano/ruby-benchmark-suite.git > > Notes: > > The default timeout for any given test was set at the default of 30 > seconds. Twenty-for tests exceeded the timeout therefore the ratio is > unknown. I think that can be changed easily. > In two of the tests: bm_regex_dna.rb and bm_hilbert_matrix.rb the > optimized version of ruby was actually *slower*. Thanks for letting me know -- I wrote "bm_hilbert_matrix", so I think I'll check this out over the weekend with my "oprofile" setup. BTW, I usually compile "-O3 -march=athlon64" and I have been using gcc 4.3.1 for a couple of months. Do you expect a fundamental difference between "-march=athlon64" and "-march=k8 -mtune=k8"? > The patch level of the two interpreters is different so this is not > exactly apples-to-apples comparison. Two tests which reported a 'stack > to deep' error. Try "ulimit -a" and look at the stack size. Then type "ulimit -s <4x>" where <4x> is four times the number you got from "ulimit -a". This made those stack errors go away when I ran these. By the way -- the Ruby Benchmark Suite has its own mailing list -- http://groups.google.com/group/ruby-benchmark-suite to be precise. -- M. Edward (Ed) Borasky ruby-perspectives.blogspot.com "A mathematician is a machine for turning coffee into theorems." -- Alfrd Rnyi via Paul Erds