blob: 3b0b2ae83a25ad16c876303976b30cac092f1667 (
plain)
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
65
66
67
68
69
70
|
require 'rubygems'
require 'json'
require 'msgpack'
def show10(str)
puts "#{str.length/1024} KB"
puts str[0, 10].unpack('C*').map{|x|"%02x"%x}.join(' ') + " ..."
end
ary = []
i = 0
while i < (1<<24)
#ary << (1<<24)
ary << i
i += 1
end
GC.start
puts "----"
puts "MessagePack"
a = Time.now
packed = MessagePack::pack(ary)
b = Time.now
show10(packed)
sec = b - a
puts "#{sec} sec."
puts "#{packed.length.to_f / sec / 1024 / 1024 * 8} Mbps"
GC.start
=begin
puts "----"
puts "JSON"
a = Time.now
json = ary.to_json
b = Time.now
show10(json)
puts "#{b-a} sec."
ary = nil
GC.start
=end
puts "----"
puts "MessagePack"
a = Time.now
ary = MessagePack::unpack(packed)
b = Time.now
sec = b - a
puts "#{sec} sec."
puts "#{packed.length.to_f / sec / 1024 / 1024 * 8} Mbps"
p ary.size
p (1<<24)
ary = nil
GC.start
=begin
puts "----"
puts "JSON"
a = Time.now
ary = JSON::load(json)
b = Time.now
puts "#{b-a} sec."
=end
|