4 use Benchmark qw/cmpthese/;
8 sub new{ bless {}, shift }
15 accessors => { n => 'n' },
20 for my $klass (qw/Moose Mouse/) {
30 __PACKAGE__->meta->make_immutable;
35 print "Class::MOP: $Class::MOP::VERSION\n";
36 print "Moose: $Moose::VERSION\n";
37 print "Mouse: $Mouse::VERSION\n";
42 my @classes = qw(Moose Mouse);
43 if(C::XSAOne->can('new')){
44 push @classes, 'C::XSA';
49 map { my $x = $_; $_ => sub { $x->new(n => $foo) } }
50 map { "${_}One" } @classes
54 print "---- new,set\n";
57 map { my $y = $_; $_ => sub { $y->new(n => $foo)->n($foo) } }
58 map { "${_}One" } @classes
63 my %c = map { $_ => "${_}One"->new(n => $foo) } @classes;
66 map { my $y = $_; $_ => sub { $c{$y}->n($foo) } } @classes