X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=benchmarks%2Fimmutable.pl;h=8118511dd89a1047705a90ec2fa9ae6f8baf138b;hb=d9562cdf5f7868b6c194b425080568c26e388fb7;hp=3ff6f42645f2dde75fec688be61a0d552242995c;hpb=1f7799268624a1daa3d84d8326f8f0bdc4ef8c75;p=gitmo%2FMoose.git diff --git a/benchmarks/immutable.pl b/benchmarks/immutable.pl index 3ff6f42..8118511 100644 --- a/benchmarks/immutable.pl +++ b/benchmarks/immutable.pl @@ -23,18 +23,18 @@ coerce 'Foo' use Moose; has 'default' => (is => 'rw', default => 10); - has 'default_sub' => (is => 'rw', default => sub { [] }); + has 'default_sub' => (is => 'rw', default => sub { [] }); has 'lazy' => (is => 'rw', default => 10, lazy => 1); - has 'required' => (is => 'rw', required => 1); - has 'weak_ref' => (is => 'rw', weak_ref => 1); - has 'type_constraint' => (is => 'rw', isa => 'Foo'); - has 'coercion' => (is => 'rw', isa => 'Foo', coerce => 1); - + has 'required' => (is => 'rw', required => 1); + has 'weak_ref' => (is => 'rw', weak_ref => 1); + has 'type_constraint' => (is => 'rw', isa => 'Foo'); + has 'coercion' => (is => 'rw', isa => 'Foo', coerce => 1); + package Bar::Normal; use Moose; - + extends 'Foo::Normal'; - + has 'default_w_type_constraint' => ( is => 'rw', isa => 'Int', @@ -45,40 +45,40 @@ coerce 'Foo' { package Foo::Immutable; use Moose; - + has 'default' => (is => 'rw', default => 10); - has 'default_sub' => (is => 'rw', default => sub { [] }); + has 'default_sub' => (is => 'rw', default => sub { [] }); has 'lazy' => (is => 'rw', default => 10, lazy => 1); - has 'required' => (is => 'rw', required => 1); - has 'weak_ref' => (is => 'rw', weak_ref => 1); - has 'type_constraint' => (is => 'rw', isa => 'Foo'); + has 'required' => (is => 'rw', required => 1); + has 'weak_ref' => (is => 'rw', weak_ref => 1); + has 'type_constraint' => (is => 'rw', isa => 'Foo'); has 'coercion' => (is => 'rw', isa => 'Foo', coerce => 1); - - sub BUILD { - # ... - } - + + #sub BUILD { + # # ... + #} + Foo::Immutable->meta->make_immutable(debug => 0); - + package Bar::Immutable; use Moose; - - extends 'Foo::Immutable'; - + + extends 'Foo::Immutable'; + has 'default_w_type_constraint' => ( is => 'rw', isa => 'Int', default => 10, - ); - - Bar::Immutable->meta->make_immutable(debug => 0); + ); + + Bar::Immutable->meta->make_immutable(debug => 0); } #__END__ my $foo = Foo->new; -cmpthese(10_000, +cmpthese(10_000, { 'normal' => sub { Foo::Normal->new( @@ -93,7 +93,7 @@ cmpthese(10_000, required => 'BAR', type_constraint => $foo, coercion => [], - weak_ref => {}, + weak_ref => {}, ); }, }