Project

General

Profile

Actions

Feature #5995

closed

calling io_advise_internal() in read_all()

Added by Glass_saga (Masaki Matsushita) about 12 years ago. Updated almost 6 years ago.

Status:
Rejected
Target version:
-
[ruby-core:42471]

Description

=begin
I propose to call io_advise_internal() in read_all().
It will increase performance.

I created a dummy file:
dd if=/dev/zero of=dummy bs=1M count=100

Then, I ran the following:

require 'benchmark'

Benchmark.bm do |x|
x.report do
f = File.open("dummy") # dummy file(about 100MB )
f.read
end
end

I freed page cache before each test:
sudo sysctl -w vm.drop_caches=1

results on Ubuntu 11.10(3.0.0-15-server):

r34462:

user system total real
0.050000 0.220000 0.270000 ( 0.356033)

   user     system      total        real

0.050000 0.190000 0.240000 ( 0.332243)

   user     system      total        real

0.060000 0.210000 0.270000 ( 0.347758)

patched ruby:

user system total real
0.030000 0.130000 0.160000 ( 0.225866)

   user     system      total        real

0.040000 0.170000 0.210000 ( 0.250172)

   user     system      total        real

0.040000 0.150000 0.190000 ( 0.254654)

It shows the patch increases performance.
=end


Files

patch.diff (1.25 KB) patch.diff Glass_saga (Masaki Matsushita), 02/10/2012 02:14 PM
patch2.diff (1003 Bytes) patch2.diff Glass_saga (Masaki Matsushita), 02/14/2012 12:48 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0