benchmark for loading all of fog vs just aws

This commit is contained in:
Lance Ivy 2013-03-28 09:39:04 -04:00
parent e5c438a206
commit 70ca86122f
1 changed files with 31 additions and 0 deletions

31
benchs/load_times.rb Normal file
View File

@ -0,0 +1,31 @@
require 'benchmark'
$LOAD_PATH << File.dirname(__FILE__) + '/../lib'
def time_in_fork(&block)
read, write = IO.pipe
Process.fork do
write.puts Benchmark.realtime{ block.call }
end
Process.wait
write.close
read.read.tap do
read.close
end
end
class Array
def avg
map(&:to_f).inject(:+) / size
end
end
def report(label, n = 10, &block)
puts label
puts "%.4f" % n.times.map{ time_in_fork &block }.avg
puts
end
N = 10
report("require fog:", N) { require 'fog' }
report("require fog/aws:", N) { require 'fog/aws' }