2009-04-15 23:06:47 +09:00
|
|
|
use strict;
|
|
|
|
use warnings;
|
|
|
|
use Data::MessagePack;
|
|
|
|
use JSON::XS;
|
|
|
|
use Benchmark ':all';
|
2010-09-10 20:27:11 +09:00
|
|
|
use Storable;
|
2009-04-15 23:06:47 +09:00
|
|
|
|
|
|
|
my $a = [0..2**24];
|
|
|
|
my $j = JSON::XS::encode_json($a);
|
|
|
|
my $m = Data::MessagePack->pack($a);
|
2010-09-10 20:27:11 +09:00
|
|
|
my $s = Storable::nfreeze($a);
|
2009-04-15 23:06:47 +09:00
|
|
|
|
|
|
|
print "-- deserialize\n";
|
|
|
|
print "JSON::XS: $JSON::XS::VERSION\n";
|
|
|
|
print "Data::MessagePack: $Data::MessagePack::VERSION\n";
|
2010-09-10 20:27:11 +09:00
|
|
|
timethese(
|
2009-04-15 23:06:47 +09:00
|
|
|
-1 => {
|
2010-09-10 20:27:11 +09:00
|
|
|
json => sub { JSON::XS::decode_json($j) },
|
|
|
|
mp => sub { Data::MessagePack->unpack($m) },
|
|
|
|
storable => sub { Storable::thaw($s) },
|
2009-04-15 23:06:47 +09:00
|
|
|
}
|
|
|
|
);
|
|
|
|
|