Improve IO read performance on Windows
--------------------------------------

                 Key: JRUBY-2610
                 URL: http://jira.codehaus.org/browse/JRUBY-2610
             Project: JRuby
          Issue Type: Wish
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.1.1
         Environment: Windows XP Pro, JRuby 1.1.2, Java 1.5
            Reporter: Daniel Berger


Using MRI:
{noformat}
                                    user     system      total        real
IO.foreach(file)               19.344000   3.235000  22.579000 ( 22.972000)
IO.read(file)                   1.344000   2.469000   3.813000 (  3.922000)
IO.read(file, 100)              0.359000   1.890000   2.249000 (  2.548000)
IO.read(file, 100, 20)          0.453000   1.813000   2.266000 (  2.531000)
{noformat}

Using JRuby:
{noformat}
                                    user     system      total        real
IO.foreach(file)               59.619000   0.000000  59.619000 ( 59.605385)
IO.read(file)                   7.189000   0.000000   7.189000 (  7.188646)
IO.read(file, 100)              5.907000   0.000000   5.907000 (  5.902518)
IO.read(file, 100, 20)          5.610000   0.000000   5.610000 (  5.610618)
{noformat}
Here's the benchmark source I used:
{noformat}
require 'benchmark'

MAX  = 10000
FILE = 'io_test_bench_file.txt'

File.open(FILE, 'w'){ |fh|
   1000.times{ |n|
      fh.puts "This is line: #{n}"
   }
}

Benchmark.bm(30) do |x|
   # Class Methods
   x.report('IO.foreach(file)'){
      MAX.times{ IO.foreach(FILE){} }
   }

   x.report('IO.read(file)'){
      MAX.times{ IO.read(FILE) }
   }

   x.report('IO.read(file, 100)'){
      MAX.times{ IO.read(FILE, 100) }
   }

   x.report('IO.read(file, 100, 20)'){
      MAX.times{ IO.read(FILE, 100, 20) }
   }
end
File.delete(FILE) if File.exists?(FILE)
{noformat}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to