Sereal-Encoder

 view release on metacpan or  search on metacpan

author_tools/freeze_thaw_timing.pl  view on Meta::CPAN

use Benchmark::Dumb qw(cmpthese);

my $enc_nocb= Sereal::Encoder->new();
my $enc_cb= Sereal::Encoder->new( { freeze_callbacks => 1 } );
my $dec= Sereal::Decoder->new();

package Foo;

sub new {
    my $class= shift;
    return bless( {@_} => $class );
}

sub FREEZE {
    my ( $self, $serializer )= @_;
    return $self->{name};    # performance
}

sub THAW {
    my ( $class, $serializer, $data )= @_;
    return Foo->new( name => $data );

t/130_freezethaw.t  view on Meta::CPAN

    exit 0;
}

my $thaw_called= 0;
my $freeze_called= 0;

package Foo;

sub new {
    my $class= shift;
    return bless( { bar => 1, @_ } => $class );
}

sub FREEZE {
    my ( $self, $serializer )= @_;
    $freeze_called= $serializer eq 'Sereal' ? 1 : 0;
    return "frozen object", 12, [2];
}

sub THAW {
    my ( $class, $serializer, @data )= @_;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 5.281 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-9f2165ba459b )