Bug #2741
gets with large file is slow in windoze
| Status: | Open | Start date: | 02/13/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - | |||
| ruby -v: | ruby 1.8.8dev (2010-02-11 revision 26645) [i386-mingw32] |
Description
Reposting from a different bug report...
# 10 MB
n = 100 * 1000 * 1000
puts "writing"
File.open("foo", 'wb'){|f| f.write(" " * n) }
puts "reading"
File.open("foo", 'rb') do |io|
io.gets
end
writing the file takes 1s, reading it takes 2000s, as it reads (in windows) in only in 4K bytes, so it is constantly resizing the string and recopying it. In Linux it has the same problem, but reads in 64K bytes, so the problem is much less.