aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark/bm_io_nonblock_noex2.rb
blob: 56819d049b16a983ff98e9685fcedc3b838fd162 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
nr = 1_000_000
i = 0
msg = '.'
buf = '.'
begin
  r, w = IO.pipe
  while i < nr
    i += 1
    w.write_nonblock(msg, exception: false)
    r.read_nonblock(1, buf, exception: false)
  end
rescue ArgumentError # old Rubies
  while i < nr
    i += 1
    w.write_nonblock(msg)
    r.read_nonblock(1, buf)
  end
ensure
  r.close
  w.close
end