From: WATANABE Tetsuya Date: 1998-10-19T09:25:50+09:00 Subject: [ruby-list:10167] Re: Speed! 興味があって試してみました。 やったことは、「[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