mongo-ruby-driver/bin/gridstore_benchmark

33 lines
717 B
Ruby
Executable File

#!/usr/bin/env ruby
require 'rubygems'
require 'mongo'
require 'mongo/gridfs'
#require 'ruby-prof'
include Mongo
include GridFS
db = Connection.new['benchmark-gridfs']
sample_data = File.open(File.join(File.dirname(__FILE__), 'sample_file.pdf'), 'r').read
GridStore.delete(db, 'mongodb.pdf')
length = sample_data.length
mb = length / 1048576.0
t1 = Time.now
#RubyProf.start
GridStore.open(db, 'mongodb.pdf', 'w') do |f|
f.write(sample_data)
end
#result = RubyProf.stop
puts "Write: #{mb / (Time.now - t1)} mb/s"
#printer = RubyProf::FlatPrinter.new(result)
#printer.print(STDOUT, 0)
t1 = Time.now
GridStore.open(db, 'mongodb.pdf', 'r') do |f|
data = f.read
end
puts "Read: #{mb / (Time.now - t1)} mb/s"