mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
benchmark for loading all of fog vs just aws
This commit is contained in:
parent
e5c438a206
commit
70ca86122f
1 changed files with 31 additions and 0 deletions
31
benchs/load_times.rb
Normal file
31
benchs/load_times.rb
Normal 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' }
|
Loading…
Reference in a new issue