#!perl -w
use strict;
use Benchmark qw(:all);
use Clone::Fast ();
use Clone ();
use Data::Clone ();
my @array = (
[1 .. 10],
[1 .. 10]
);
print "ArrayRef:\n";
cmpthese -1 => {
'Clone' => sub{
my $x = Clone::clone(\@array);
},
'Clone::Fast' => sub{
my $x = Clone::Fast::clone(\@array);
},
'Data::Clone' => sub{
my $x = Data::Clone::clone(\@array);
},
};
my %hash = (
key => \@array,
);
print "HashRef:\n";
cmpthese -1 => {
'Clone' => sub{
my $x = Clone::clone(\%hash);
},
'Clone::Fast' => sub{
my $x = Clone::Fast::clone(\%hash);
},
'Data::Clone' => sub{
my $x = Data::Clone::clone(\%hash);
},
};