Sha256: ed96ea4c6a82c2e3641e99b5d64a19e047e37124f50208680b727415b7681eba

Contents?: true

Size: 1.17 KB

Versions: 21

Compression:

Stored size: 1.17 KB

Contents

#!/usr/bin/env ruby

$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
require 'mongo'

include Mongo

TRIALS = 100000

def encode(doc)
  t0 = Time.new
  b = BSON.new
  TRIALS.times { |i|
    b = BSON.new
    b.serialize doc
  }
  print "took: #{Time.now.to_f - t0.to_f}\n"
  return b
end

def decode(bson)
  t0 = Time.new
  doc = nil
  TRIALS.times { |i|
    doc = bson.deserialize
  }
  print "took: #{Time.now.to_f - t0.to_f}\n"
  return doc
end

TEST_CASES = [{},
              {
                "hello" => "world"
              },
              {
                "hello" => "world",
                "mike" => "something",
                "here's" => "another"
              },
              {
                "int" => 200,
                "bool" => true,
                "an int" => 20,
                "a bool" => false
              },
              {
                "this" => 5,
                "is" => {"a" => true},
                "big" => [true, 5.5],
                "object" => nil
              }]

TEST_CASES.each { |doc|
  print "case #{doc.inspect}\n"
  print "enc bson\n"
  enc_bson = encode(doc)
  print "dec bson\n"
  raise "FAIL" unless doc == decode(enc_bson)
}

Version data entries

21 entries across 21 versions & 5 rubygems

Version Path
mongodb-mongo-0.13 bin/bson_benchmark.rb
mongodb-mongo-0.14.1 bin/bson_benchmark.rb
mongodb-mongo-0.14 bin/bson_benchmark.rb
pahagon-mongo-abd-0.14.1 bin/bson_benchmark.rb
mongo-0.19.3 bin/bson_benchmark.rb
mongo-0.19.2 bin/bson_benchmark.rb
mongo-0.19.1 bin/bson_benchmark.rb
mongo-0.19 bin/bson_benchmark.rb
kbaum-mongo-0.19 bin/bson_benchmark.rb
kbaum-mongo-0.18.3.2 bin/bson_benchmark.rb
kbaum-mongo-0.18.3p bin/bson_benchmark.rb
mongo-find_replace-0.18.3 bin/bson_benchmark.rb
mongo-0.18.3 bin/bson_benchmark.rb
mongo-0.18.2 bin/bson_benchmark.rb
mongo-0.18.1 bin/bson_benchmark.rb
mongo-0.18 bin/bson_benchmark.rb
mongo-0.17.1 bin/bson_benchmark.rb
mongo-0.17 bin/bson_benchmark.rb
mongo-0.16 bin/bson_benchmark.rb
mongo-0.15.1 bin/bson_benchmark.rb