mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-19 13:02:13 +01:00
38 lines
679 B
Perl
38 lines
679 B
Perl
#!/usr/bin/perl
|
|
use strict;
|
|
use warnings;
|
|
use Data::MessagePack;
|
|
use Storable;
|
|
use Text::SimpleTable;
|
|
|
|
my @entries = (
|
|
'1',
|
|
'3.14',
|
|
'{}',
|
|
'[]',
|
|
"[('a')x10]",
|
|
"{('a')x10}",
|
|
"+{1,+{1,+{}}}",
|
|
"+[+[+[]]]",
|
|
);
|
|
|
|
my $table = Text::SimpleTable->new([15, 'src'], [9, 'storable'], [7, 'msgpack']);
|
|
|
|
for my $src (@entries) {
|
|
my $e = eval $src;
|
|
die $@ if $@;
|
|
|
|
$table->row(
|
|
$src,
|
|
length(Storable::nfreeze(ref $e ? $e : \$e)),
|
|
length(Data::MessagePack->pack($e)),
|
|
);
|
|
}
|
|
|
|
print "perl: $]\n";
|
|
print "Storable: $Storable::VERSION\n";
|
|
print "Data::MessagePack: $Data::MessagePack::VERSION\n";
|
|
print "\n";
|
|
print $table->draw;
|
|
|