test_file_read.rb

phiggins (Pete Higgins), 03/21/2010 05:34 am

Download (415 Bytes)

 
1
require 'digest/md5'
2

    
3
test_file = "delete_me"
4
File.open( test_file, "w" ) {|f| f << "0" * 1_000 }
5

    
6
def buffered_read(path)
7
  data = ""
8
  buf = ""
9
  File.open(path, "rb") do |f|
10
    while f.read(16384,buf)
11
      data << buf
12
    end
13
  end
14
  data
15
end
16

    
17
puts "Pid: #{Process.pid}"
18
STDIN.gets
19

    
20
100.times do
21
  buffered_read( test_file )
22
end
23

    
24
GC.start
25
puts "done"
26
STDIN.gets 
27

    
28
require 'fileutils'
29
FileUtils.rm( test_file )