aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark/bm_io_nonblock_noex.rb
blob: da9357fdc6bb931289980b7fad58dee4fd8f520b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
nr = 1_000_000
i = 0
msg = '.'
buf = '.'
noex = { exception: false }
begin
  r, w = IO.pipe
  while i < nr
    i += 1
    w.write_nonblock(msg, noex)
    r.read_nonblock(1, buf, noex)
  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