File: uuevsmime.b

package info (click to toggle)
libapache-session-perl 1.94-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 448 kB
  • sloc: perl: 1,514; makefile: 2
file content (51 lines) | stat: -rw-r--r-- 1,394 bytes parent folder | download | duplicates (6)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use Benchmark;
use Apache::Session::Serialize::UUEncode;
use Apache::Session::Serialize::Base64;
use Apache::Session::Serialize::Storable;

use vars qw($hash);

$hash = { 
    serialized => undef, 
    data => {
        foo => 'A'x32,
        bar => [1,2,3,4,5,6,7,8,9,0],
        baz => {
            blah => 'A'x32,
            bleh => 'B'x32
        }
    }
};

sub uue {
    my $z = Apache::Session::Serialize::UUEncode::serialize($hash);
    Apache::Session::Serialize::UUEncode::unserialize($hash);
}

sub base64 {
    my $z = Apache::Session::Serialize::Base64::serialize($hash);
    Apache::Session::Serialize::Base64::unserialize($hash);
}

sub storable {
    my $z = Apache::Session::Serialize::Storable::serialize($hash);
    Apache::Session::Serialize::Storable::unserialize($hash);
}

timethese(-3, {
    Base64   => \&base64,
    UUE      => \&uue,
    Storable => \&storable
});

$hash->{data}->{foo} = 'A'x32000;

timethese(-3, {
    'Big Base64'   => \&base64,
    'Big UUE'      => \&uue,
    'Big Storable' => \&storable,
});

print "Length with UUE: ". length(Apache::Session::Serialize::UUEncode::serialize($hash)) ."\n";
print "Length with Base64: ". length(Apache::Session::Serialize::Base64::serialize($hash)) ."\n";
print "Length with Storable: ". length(Apache::Session::Serialize::Storable::serialize($hash)) ."\n";