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