4 use Benchmark qw( cmpthese :hireswallclock);
8 my ($semicol, $comma) = map {
9 my $src = do { local (@ARGV, $/) = $_; <> };
10 eval "sub { use strict; use warnings; use warnings FATAL => 'uninitialized'; $src }" or die $@;
11 } qw( semicol.src comma.src );
13 my $enc = Sereal::Encoder->new;
14 my $dec = Sereal::Decoder->new;
16 for my $iters ( 100, 10_000, 100_000 ) {
18 push @$dataset, [ (scalar @$dataset) x 11 ]
19 while @$dataset < $iters;
21 my $ice = $enc->encode($dataset);
23 print "\nTiming $iters 'rows'...\n";
25 semicol => sub { $semicol->($dec->decode($ice)) },
26 comma => sub { $comma->($dec->decode($ice)) },