[ruby-list:48517] Re: Ruby1.9.3(windows)におけるファイルへの書き込み速度
From:
Dice <tetradice@...>
Date:
2011-11-05 00:14:40 UTC
List:
ruby-list #48517
こんにちは。Diceです。
私もちょっと気になったので、同じコードをお借りして試してみました。
OSはWindows 7 (64bit)、CPUはCore i7 2.93GHz、メモリは6GBです。
また、参考用のため、ruby 1.8.7での比較も行いました。
この結果を見る限り、私の環境では30倍とはいきませんでしたが
mingw32版での書き込み時間が大幅に伸びているのは確かなようです。
(ruby1.9.2では約0.3秒→ruby1.9.3では約2.6秒)
この結果が何らかの参考になれば幸いです。
**
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
Write:0.305004(s)
Read :1.640026(s)
ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
Write:2.60254(s)
Read :1.622525(s)
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
Write:0.147502(s)
Read :0.095002(s)
**
また参考のために、ファイルのオープンをテキストモードではなく
バイナリモードで行った場合の結果も併記いたします。
**
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
Write Binary:0.052501(s)
Read Binary:0.0525(s)
ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
Write Binary:2.102533(s)
Read Binary:0.050001(s)
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]
Write Binary:0.080001(s)
Read Binary:0.070001(s)
**
--
Dice
tetradice@gmail.com
2011年11月5日5:57 <ak7@mail.goo.ne.jp>:
> 1.9.3p0をWindowsXP SP3の環境で試したところ、ファイルへの書き込みに
> かかる時間が、1.9.2と比較して30倍程度増えていることが分りました。
>
> サンプルは、以下の通りです。
> 皆様の環境(特にWindows)ではいかがでしょうか?
> また、対応方法があれば教えてください。
>
> **** testcode.rb ****
> t=Time.new
> str = '0123456789'*10
> open('test.txt','w') do |f|
> 100000.times do
> f.puts str
> end
> end
> puts "Write:#{Time.new-t}(s)"
>
> t=Time.new
> open('test.txt') do |f|
> f.each_line{|line| line}
> end
> puts "Read :#{Time.new-t}(s)"
>
>
> **** 実行結果 ****
> C:\>path c:\ruby192\bin
> C:\>ruby -v
> ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
> C:\>ruby testcode.rb
> Write:0.531281(s)
> Read :2.125122(s)
>
> C:\>path c:\ruby193\bin
> C:\>ruby -v
> ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
> C:\>ruby testcode.rb
> Write:17.469756(s)
> Read :2.172(s)
>
>
>
>
>