#!/usr/bin/env perl
#utf8
use utf8;
use 5.12.1;
# use Acme::PerlTidy;
use Benchmark qw(:all);
use Data::Dump qw/dd/;
use Data::Encoder;
sub run {
my $encoder = shift;
my $enc = $encoder->encode([qw/foo bar/]);
my $data = $encoder->decode($enc);
# dd $data;
}
cmpthese(
timethese(
10000,
{
# Data::Encoder::JSON
JSON => sub {
my $encoder = Data::Encoder->load('JSON');
&run($encoder);
},
# Data::Encoder::Data::Dumper
Dumper => sub {
my $encoder = Data::Encoder->load('Data::Dumper');
&run($encoder);
},
# Data::Encoder::Data::MessagePack
MsgPack => sub {
my $encoder = Data::Encoder->load('Data::MessagePack');
&run($encoder);
},
# Data::Encoder::Storable
Storable => sub {
my $encoder = Data::Encoder->load('Storable');
&run($encoder);
},
# Data::Encoder::YAML
YAML => sub {
my $encoder = Data::Encoder->load('YAML');
&run($encoder);
},
}
)
);