興味があって試してみました。

やったことは、「[ruby-list:10162] Re: Speed! えぐち@エス
アンドイー」さんの

GC.disable

と、

IO.foreach("floatData") {|$_|
}

を

f = File.open('floatData')
while f.gets

end
f.close

にすること。と、

  for i in 0 .. $col_num -1 

を

  0.upto($col_num - 1) do |i|

にすることです。

PII 266MHz での環境では、

オリジナル

$ ruby speed1.rb   
Elements = 100000, average = 14.499995
ruby speed1.rb  4.38s user 0.03s system 100% cpu 4.391 total

IO.foreach を while に

$ ruby speed2.rb
Elements = 100000, average = 14.499995
ruby speed2.rb  3.90s user 0.01s system 100% cpu 3.905 total

for i in を 0.upto() に(だけ)

$ ruby speed2.rb
Elements = 100000, average = 14.499995
ruby speed2.rb  3.98s user 0.04s system 100% cpu 4.007 total

GC.disable を加える(だけ)

$ ruby speed2.rb
Elements = 100000, average = 14.499995
ruby speed2.rb  3.19s user 0.19s system 100% cpu 3.378 total

で、上記すべてを実施するとこのくらいです。

$ ruby speed2.rb
Elements = 100000, average = 14.499995
ruby speed2.rb  2.58s user 0.19s system 99% cpu 2.794 total

自宅の P5 166MHz で試すと、もっとわかりやすく差がでたん
ですが、数字は持ってこなかったので...

--
WATANABE Tetsuya HP Japan
 e-mail  Tetsuya_WATANABE / hp.com
         tetsu / jpn.hp.com