summaryrefslogtreecommitdiff
path: root/benchmark/io_select2.yml
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/io_select2.yml')
-rw-r--r--benchmark/io_select2.yml25
1 files changed, 25 insertions, 0 deletions
diff --git a/benchmark/io_select2.yml b/benchmark/io_select2.yml
new file mode 100644
index 0000000..3c8078d
--- /dev/null
+++ b/benchmark/io_select2.yml
@@ -0,0 +1,25 @@
+prelude: |
+ # IO.select performance. worst case of single fd.
+benchmark:
+ io_select2: |
+
+ ios = []
+ nr = 1000000
+ if defined?(Process::RLIMIT_NOFILE)
+ max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]
+ else
+ max = 64
+ end
+ puts "max fd: #{max} (results not apparent with <= 1024 max fd)"
+
+ ((max / 2) - 10).times do
+ ios.concat IO.pipe
+ end
+
+ last = [ ios[-1] ]
+ puts "last IO: #{last[0].inspect}"
+
+ nr.times do
+ IO.select nil, last
+ end
+loop_count: 1