会社でそんな話を聞きましたが、自分の環境で全く気づかなかったのはなんでだろう?
Googole 経由で Leopard の頃の記事が見つかりました。
MacPorts でインストールした Ruby は遅いらしい - kwatchの日記
記事のテストを自分の環境でも試してみました。
# fib.rb
def fib(n)
n <= 1 ? 1 : fib(n-1) + fib(n-2)
end
if __FILE__ == $0
require 'benchmark'
n = $N ? $N.to_i : 30
Benchmark.benchmark do |x|
x.report("fib(#{n})") do
fib(n)
end
end
end
$ uname -a Darwin imac.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:46:25 PDT 2009; root:xnu-1456.1.25~1/RELEASE_X86_64 x86_64 $ port installed ruby The following ports are currently installed: ruby @1.8.7-p174_0+darwin+thread_hooks (active) $ /usr/bin/ruby -v -s fib.rb -N=33 ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] fib(33) 4.680000 0.010000 4.690000 ( 5.324309) $ /usr/local/bin/ruby -v -s fib.rb -N=33 ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0], MBARI 0x6770, Ruby Enterprise Edition 20090928 fib(33) 3.970000 0.010000 3.980000 ( 4.786717) $ /opt/local/bin/ruby -v -s fib.rb -N=33 ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10] fib(33) 4.790000 0.010000 4.800000 ( 5.772489)
とりあえず、参考記事ほどの差はありませんでした。
後は、Ruby Benchmark Suite を実行してみようと思いますが、結構な時間がかかる様なのでここまで。

