Snow Leopard に MacPorts でインストールした Ruby が遅いという話を聞いたけど…

会社でそんな話を聞きましたが、自分の環境で全く気づかなかったのはなんでだろう?

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 を実行してみようと思いますが、結構な時間がかかる様なのでここまで。

プロフィール

このブログ記事について

このページは、koshigoeが2009年10月17日 03:55に書いたブログ記事です。

ひとつ前のブログ記事は「派手に Class.new(ActiveRecord::Base) しまくってメモリ大量消費」です。

次のブログ記事は「MySQL のレプリケーションで保存時のキャラクタセットが変わる問題」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。