msgpack/perl/benchmark/serialize.pl

27 lines
660 B
Perl
Raw Normal View History

2009-04-15 12:55:41 +09:00
use strict;
use warnings;
use Data::MessagePack;
use JSON::XS;
2010-09-10 20:27:11 +09:00
use Storable;
2009-04-15 12:55:41 +09:00
use Benchmark ':all';
my $a = {
"method" => "handleMessage",
"params" => [ "user1", "we were just talking" ],
"id" => undef,
2010-09-15 13:34:18 +09:00
"array" => [ 1, 1024, 70000, -5, 1e5, 1e7, 1, 0, 3.14, sqrt(2) ],
};
2009-04-15 12:55:41 +09:00
print "-- serialize\n";
2009-04-15 23:02:27 +09:00
print "JSON::XS: $JSON::XS::VERSION\n";
print "Data::MessagePack: $Data::MessagePack::VERSION\n";
2010-09-10 20:27:11 +09:00
print "Storable: $Storable::VERSION\n";
2010-09-15 12:46:11 +09:00
cmpthese timethese(
-1 => {
json => sub { JSON::XS::encode_json($a) },
storable => sub { Storable::freeze($a) },
mp => sub { Data::MessagePack->pack($a) },
2009-04-15 12:55:41 +09:00
}
);