Sha256: d6384f95c8ef8cd13ae495f6ff1e7c723af1478c362bddfd25737b12ad745aa1
Contents?: true
Size: 1020 Bytes
Versions: 7
Compression:
Stored size: 1020 Bytes
Contents
#!/usr/bin/env ruby $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) ASSET_PATH = File.expand_path('../../test/assets', __FILE__) require 'rubygems' require 'mochilo' require 'json' require 'benchmark' require 'msgpack' require 'pp' def benchmark(filename, repeat = 1000) stream = IO.read("#{ASSET_PATH}/#{filename}") stream_len = stream.size object = JSON.parse(stream) bytes = object.to_msgpack stream = nil def do_bench(label, repeat, &block) t = Benchmark::Tms.new repeat.times do t = t + Benchmark.measure(nil, &block) end puts "-> #{label} x#{repeat}" puts " Total:", t puts " Avg:", t / repeat puts "" end puts "# #{filename} (#{stream_len / 1024}kb)" do_bench('Mochilo (pack)', repeat) { Mochilo.pack(object) } do_bench('Msgpack (pack)', repeat) { MessagePack.pack(object) } do_bench('Mochilo (unpack)', repeat) { Mochilo.unpack(bytes) } do_bench('Msgpack (unpack)', repeat) { MessagePack.unpack(bytes) } end benchmark('pulls.json')
Version data entries
7 entries across 7 versions & 1 rubygems