1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#!/usr/bin/env ruby -wW1
# encoding: UTF-8
$: << File.join(File.dirname(__FILE__), "../lib")
$: << File.join(File.dirname(__FILE__), "../ext")
#require 'test/unit'
require 'optparse'
require 'oj'
require 'ox'
$indent = 2
opts = OptionParser.new
opts.on("-h", "--help", "Show this display") { puts opts; Process.exit!(0) }
files = opts.parse(ARGV)
iter = 100000
s = %{
{ "class": "Foo::Bar",
"attr1": [ true, [false, [12345, null], 3.967, ["something", false], null]],
"attr2": { "one": 1 }
}
}
#s = File.read('sample.json')
Oj.default_options = { :indent => 0 }
obj = Oj.load(s)
xml = Ox.dump(obj, :indent => 0)
puts xml
start = Time.now
iter.times do
Oj.load(s)
end
dt = Time.now - start
puts "%d Oj.load()s in %0.3f seconds or %0.1f loads/msec" % [iter, dt, iter/dt/1000.0]
start = Time.now
iter.times do
Ox.load(xml)
end
dt = Time.now - start
puts "%d Ox.load()s in %0.3f seconds or %0.1f loads/msec" % [iter, dt, iter/dt/1000.0]
puts
start = Time.now
iter.times do
Oj.dump(obj)
end
dt = Time.now - start
puts "%d Oj.dump()s in %0.3f seconds or %0.1f dumps/msec" % [iter, dt, iter/dt/1000.0]
start = Time.now
iter.times do
Ox.dump(obj)
end
dt = Time.now - start
puts "%d Ox.dump()s in %0.3f seconds or %0.1f dumps/msec" % [iter, dt, iter/dt/1000.0]
puts
|