Project

General

Profile

Bug #2741

gets with large file is slow in windoze

Added by rogerdpack (Roger Pack) over 9 years ago. Updated about 8 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.8.8dev (2010-02-11 revision 26645) [i386-mingw32]
[ruby-core:28160]

Description

=begin
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.
=end


Related issues

Related to Ruby 1.8 - Bug #2722: gets on a large file takes a very very long timeOpen02/08/2010Actions
Related to Ruby trunk - Bug #2742: IO#read/gets can be very slow in dozeClosed02/13/2010Actions

Also available in: Atom PDF