File: size.pl

package info (click to toggle)
libdata-messagepack-perl 1.02-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,060 kB
  • sloc: ansic: 5,697; perl: 1,123; makefile: 10
file content (37 lines) | stat: -rw-r--r-- 679 bytes parent folder | download | duplicates (7)
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
#!/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;