summaryrefslogtreecommitdiff
path: root/ruby_1_9_3/benchmark/bm_io_select2.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_9_3/benchmark/bm_io_select2.rb')
-rw-r--r--ruby_1_9_3/benchmark/bm_io_select2.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/ruby_1_9_3/benchmark/bm_io_select2.rb b/ruby_1_9_3/benchmark/bm_io_select2.rb
new file mode 100644
index 0000000000..7b167af774
--- /dev/null
+++ b/ruby_1_9_3/benchmark/bm_io_select2.rb
@@ -0,0 +1,18 @@
+# IO.select performance. worst case of single fd.
+
+ios = []
+nr = 1000000
+max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]
+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
+