Mouse::Util::does_role() respects $thing->does() method
[gitmo/Mouse.git] / benchmarks / new_object.pl
1 #!perl -w
2 use strict;
3 use Benchmark qw(:all);
4 {
5     package MyMoose;
6     use Moose;
7     has [qw(foo bar baz)] => (
8         is      => 'rw',
9         isa     => 'Str',
10         default => 'qux',
11     );
12     __PACKAGE__->meta->make_immutable();
13 }
14 {
15     package MyMouse;
16     use Mouse;
17     has [qw(foo bar baz)] => (
18         is      => 'rw',
19         isa     => 'Str',
20         default => 'qux',
21     );
22     __PACKAGE__->meta->make_immutable();
23 }
24 print "Class->meta->new_object x 10\n";
25 cmpthese -1, {
26     Moose => sub {
27         MyMoose->meta->new_object() for 10;
28     },
29     Mouse => sub {
30         MyMouse->meta->new_object() for 10;
31     },
32 };
33