Hmmm.....
#!/usr/local/bin/perl -w
use strict;
package CA;
use base 'Class::Accessor';
__PACKAGE__->mk_accessors(qw(a b c));
package LA;
use Lexical::Attributes;
sub new {bless [] => shift}
has $.a is rw;
has $.b is rw;
has $.c is rw;
package main;
use Benchmark;
my %methods = map {
my $name = $_;
$_ => sub {
my $object = $name->new;
$object->a(1);
$object->b(2);
$object->c(3);
}
} qw(CA LA);
timethese (500000, \%methods);
__END__
Benchmark: timing 500000 iterations of CA, LA...
CA: 10 wallclock secs (10.25 usr + 0.02 sys = 10.27 CPU) @ 48
+685.49/s (n=500000)
LA: 7 wallclock secs ( 5.98 usr + 0.00 sys = 5.98 CPU) @ 83
+612.04/s (n=500000)
Doesn't look too shabby to me.