| Filename | /home/doy/coding/src/Moose/blib/lib//Moose/Meta/Method/Accessor.pm |
| Statements | Executed 1284 statements in 33.4ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 100 | 2 | 2 | 8.93ms | 24.3ms | Moose::Meta::Method::Accessor::_eval_environment |
| 123 | 5 | 2 | 7.33ms | 11.2ms | Moose::Meta::Method::Accessor::_instance_is_inlinable |
| 100 | 5 | 2 | 5.90ms | 180ms | Moose::Meta::Method::Accessor::_compile_code |
| 100 | 1 | 1 | 3.81ms | 162ms | Moose::Meta::Method::Accessor::__ANON__[:28] |
| 61 | 1 | 1 | 2.29ms | 214ms | Moose::Meta::Method::Accessor::_generate_reader_method |
| 14 | 2 | 2 | 473µs | 1.24ms | Moose::Meta::Method::Accessor::_inline_check_lazy |
| 11 | 1 | 1 | 450µs | 50.0ms | Moose::Meta::Method::Accessor::_generate_accessor_method |
| 14 | 1 | 1 | 433µs | 2.40ms | Moose::Meta::Method::Accessor::_get_value |
| 10 | 1 | 1 | 385µs | 867µs | Moose::Meta::Method::Accessor::_inline_trigger |
| 7 | 1 | 1 | 301µs | 15.3ms | Moose::Meta::Method::Accessor::_generate_predicate_method |
| 8 | 2 | 1 | 269µs | 625µs | Moose::Meta::Method::Accessor::_writer_value_needs_copy |
| 6 | 1 | 1 | 257µs | 18.1ms | Moose::Meta::Method::Accessor::_generate_writer_method |
| 6 | 1 | 1 | 249µs | 605µs | Moose::Meta::Method::Accessor::_inline_get_old_value_for_trigger |
| 1 | 1 | 1 | 144µs | 447µs | Moose::Meta::Method::Accessor::BEGIN@7 |
| 1 | 1 | 1 | 67µs | 84µs | Moose::Meta::Method::Accessor::BEGIN@4 |
| 1 | 1 | 1 | 64µs | 737µs | Moose::Meta::Method::Accessor::BEGIN@13 |
| 1 | 1 | 1 | 55µs | 149µs | Moose::Meta::Method::Accessor::BEGIN@5 |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::__ANON__[:36] |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_error_thrower |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_generate_clearer_method |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_has_value |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_inline_check_constraint |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_inline_store_value |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_inline_tc_code |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | package Moose::Meta::Method::Accessor; | ||||
| 3 | |||||
| 4 | 3 | 119µs | 2 | 101µs | # spent 84µs (67+17) within Moose::Meta::Method::Accessor::BEGIN@4 which was called:
# once (67µs+17µs) by Moose::Meta::Attribute::BEGIN@17 at line 4 # spent 84µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@4
# spent 17µs making 1 call to strict::import |
| 5 | 3 | 161µs | 2 | 244µs | # spent 149µs (55+95) within Moose::Meta::Method::Accessor::BEGIN@5 which was called:
# once (55µs+95µs) by Moose::Meta::Attribute::BEGIN@17 at line 5 # spent 149µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@5
# spent 95µs making 1 call to warnings::import |
| 6 | |||||
| 7 | 3 | 452µs | 2 | 750µs | # spent 447µs (144+303) within Moose::Meta::Method::Accessor::BEGIN@7 which was called:
# once (144µs+303µs) by Moose::Meta::Attribute::BEGIN@17 at line 7 # spent 447µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@7
# spent 303µs making 1 call to Exporter::import |
| 8 | |||||
| 9 | 1 | 5µs | our $VERSION = '1.19'; | ||
| 10 | 1 | 62µs | $VERSION = eval $VERSION; # spent 12µs executing statements in string eval | ||
| 11 | 1 | 4µs | our $AUTHORITY = 'cpan:STEVAN'; | ||
| 12 | |||||
| 13 | 1 | 673µs | # spent 737µs (64+673) within Moose::Meta::Method::Accessor::BEGIN@13 which was called:
# once (64µs+673µs) by Moose::Meta::Attribute::BEGIN@17 at line 14 # spent 673µs making 1 call to base::import | ||
| 14 | 3 | 2.31ms | 1 | 737µs | 'Class::MOP::Method::Accessor'; # spent 737µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@13 |
| 15 | |||||
| 16 | sub _error_thrower { | ||||
| 17 | my $self = shift; | ||||
| 18 | return $self->associated_attribute | ||||
| 19 | if ref($self) && defined($self->associated_attribute); | ||||
| 20 | return $self->SUPER::_error_thrower; | ||||
| 21 | } | ||||
| 22 | |||||
| 23 | # spent 180ms (5.90+174) within Moose::Meta::Method::Accessor::_compile_code which was called 100 times, avg 1.80ms/call:
# 62 times (3.64ms+103ms) by Class::MOP::Method::Accessor::__ANON__[/home/doy/coding/src/Class-MOP/blib/lib//Class/MOP/Method/Accessor.pm:152] at line 140 of Class/MOP/Method/Accessor.pm, avg 1.72ms/call
# 14 times (802µs+33.8ms) by Moose::Meta::Method::Accessor::Native::_initialize_body at line 46 of Moose/Meta/Method/Accessor/Native.pm, avg 2.47ms/call
# 11 times (698µs+14.7ms) by Class::MOP::Method::Accessor::__ANON__[/home/doy/coding/src/Class-MOP/blib/lib//Class/MOP/Method/Accessor.pm:118] at line 110 of Class/MOP/Method/Accessor.pm, avg 1.40ms/call
# 7 times (410µs+11.3ms) by Class::MOP::Method::Accessor::__ANON__[/home/doy/coding/src/Class-MOP/blib/lib//Class/MOP/Method/Accessor.pm:207] at line 202 of Class/MOP/Method/Accessor.pm, avg 1.67ms/call
# 6 times (347µs+10.6ms) by Class::MOP::Method::Accessor::__ANON__[/home/doy/coding/src/Class-MOP/blib/lib//Class/MOP/Method/Accessor.pm:182] at line 177 of Class/MOP/Method/Accessor.pm, avg 1.83ms/call | ||||
| 24 | 300 | 5.64ms | my $self = shift; | ||
| 25 | my @args = @_; | ||||
| 26 | # spent 162ms (3.81+158) within Moose::Meta::Method::Accessor::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Method/Accessor.pm:28] which was called 100 times, avg 1.62ms/call:
# 100 times (3.81ms+158ms) by Try::Tiny::try at line 71 of Try/Tiny.pm, avg 1.62ms/call | ||||
| 27 | 100 | 3.85ms | 100 | 158ms | $self->SUPER::_compile_code(@args); # spent 158ms making 100 calls to Class::MOP::Method::Generated::_compile_code, avg 1.58ms/call |
| 28 | } | ||||
| 29 | catch { | ||||
| 30 | $self->throw_error( | ||||
| 31 | 'Could not create writer for ' | ||||
| 32 | . "'" . $self->associated_attribute->name . "' " | ||||
| 33 | . 'because ' . $_, | ||||
| 34 | error => $_, | ||||
| 35 | ); | ||||
| 36 | 200 | 1.92ms | }; # spent 1.92ms making 100 calls to Try::Tiny::catch, avg 19µs/call
# spent 172ms making 100 calls to Try::Tiny::try, avg 1.72ms/call, recursion: max depth 4, sum of overlapping time 172ms | ||
| 37 | } | ||||
| 38 | |||||
| 39 | # spent 24.3ms (8.93+15.4) within Moose::Meta::Method::Accessor::_eval_environment which was called 100 times, avg 243µs/call:
# 86 times (7.66ms+12.8ms) by Class::MOP::Method::Generated::_compile_code at line 47 of Class/MOP/Method/Generated.pm, avg 238µs/call
# 14 times (1.27ms+2.57ms) by Moose::Role::super at line 71 of Moose/Role.pm, avg 274µs/call | ||||
| 40 | 400 | 6.40ms | my $self = shift; | ||
| 41 | |||||
| 42 | 100 | 1.05ms | my $attr = $self->associated_attribute; # spent 1.05ms making 100 calls to Class::MOP::Method::Accessor::associated_attribute, avg 11µs/call | ||
| 43 | 100 | 1.84ms | my $type_constraint_obj = $attr->type_constraint; # spent 1.84ms making 100 calls to Moose::Meta::Mixin::AttributeCore::type_constraint, avg 18µs/call | ||
| 44 | |||||
| 45 | return { | ||||
| 46 | 1 | 1.40ms | 196 | 12.5ms | '$attr' => \$attr, # spent 11.1ms making 73 calls to MooseX::Types::TypeDecorator::AUTOLOAD, avg 152µs/call
# spent 736µs making 73 calls to MooseX::Types::TypeDecorator::__ANON__[MooseX/Types/TypeDecorator.pm:27], avg 10µs/call
# spent 351µs making 25 calls to Moose::Meta::TypeConstraint::_compiled_type_constraint, avg 14µs/call
# spent 279µs making 25 calls to Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:10], avg 11µs/call |
| 47 | '$meta' => \$self, | ||||
| 48 | '$type_constraint_obj' => \$type_constraint_obj, | ||||
| 49 | '$type_constraint' => \( | ||||
| 50 | $type_constraint_obj | ||||
| 51 | ? $type_constraint_obj->_compiled_type_constraint | ||||
| 52 | : undef | ||||
| 53 | ), | ||||
| 54 | }; | ||||
| 55 | } | ||||
| 56 | |||||
| 57 | # spent 11.2ms (7.33+3.82) within Moose::Meta::Method::Accessor::_instance_is_inlinable which was called 123 times, avg 91µs/call:
# 61 times (3.53ms+1.93ms) by Moose::Meta::Method::Accessor::_generate_reader_method at line 64, avg 90µs/call
# 38 times (2.40ms+1.17ms) by Moose::Meta::Method::Accessor::Native::_slot_access_can_be_inlined at line 150 of Moose/Meta/Method/Accessor/Native.pm, avg 94µs/call
# 11 times (687µs+335µs) by Moose::Meta::Method::Accessor::_generate_accessor_method at line 76, avg 93µs/call
# 7 times (383µs+208µs) by Moose::Meta::Method::Accessor::_generate_predicate_method at line 82, avg 84µs/call
# 6 times (331µs+181µs) by Moose::Meta::Method::Accessor::_generate_writer_method at line 70, avg 85µs/call | ||||
| 58 | 246 | 8.37ms | my $self = shift; | ||
| 59 | 492 | 3.82ms | return $self->associated_attribute->associated_class->instance_metaclass->is_inlinable; # spent 1.19ms making 123 calls to Class::MOP::Instance::is_inlinable, avg 10µs/call
# spent 1.14ms making 123 calls to Class::MOP::Method::Accessor::associated_attribute, avg 9µs/call
# spent 757µs making 123 calls to Class::MOP::Class::instance_metaclass, avg 6µs/call
# spent 736µs making 123 calls to Class::MOP::Attribute::associated_class, avg 6µs/call | ||
| 60 | } | ||||
| 61 | |||||
| 62 | # spent 214ms (2.29+212) within Moose::Meta::Method::Accessor::_generate_reader_method which was called 61 times, avg 3.51ms/call:
# 61 times (2.29ms+212ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 3.51ms/call | ||||
| 63 | 122 | 2.03ms | my $self = shift; | ||
| 64 | 122 | 212ms | $self->_instance_is_inlinable ? $self->_generate_reader_method_inline(@_) # spent 206ms making 61 calls to Class::MOP::Method::Accessor::_generate_reader_method_inline, avg 3.38ms/call
# spent 5.46ms making 61 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 90µs/call | ||
| 65 | : $self->SUPER::_generate_reader_method(@_); | ||||
| 66 | } | ||||
| 67 | |||||
| 68 | # spent 18.1ms (257µs+17.9) within Moose::Meta::Method::Accessor::_generate_writer_method which was called 6 times, avg 3.02ms/call:
# 6 times (257µs+17.9ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 3.02ms/call | ||||
| 69 | 12 | 222µs | my $self = shift; | ||
| 70 | 12 | 17.9ms | $self->_instance_is_inlinable ? $self->_generate_writer_method_inline(@_) # spent 17.4ms making 6 calls to Class::MOP::Method::Accessor::_generate_writer_method_inline, avg 2.89ms/call
# spent 513µs making 6 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 85µs/call | ||
| 71 | : $self->SUPER::_generate_writer_method(@_); | ||||
| 72 | } | ||||
| 73 | |||||
| 74 | # spent 50.0ms (450µs+49.5) within Moose::Meta::Method::Accessor::_generate_accessor_method which was called 11 times, avg 4.55ms/call:
# 11 times (450µs+49.5ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 4.55ms/call | ||||
| 75 | 22 | 468µs | my $self = shift; | ||
| 76 | 22 | 49.5ms | $self->_instance_is_inlinable ? $self->_generate_accessor_method_inline(@_) # spent 48.5ms making 11 calls to Class::MOP::Method::Accessor::_generate_accessor_method_inline, avg 4.41ms/call
# spent 1.02ms making 11 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 93µs/call | ||
| 77 | : $self->SUPER::_generate_accessor_method(@_); | ||||
| 78 | } | ||||
| 79 | |||||
| 80 | # spent 15.3ms (301µs+15.0) within Moose::Meta::Method::Accessor::_generate_predicate_method which was called 7 times, avg 2.19ms/call:
# 7 times (301µs+15.0ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 2.19ms/call | ||||
| 81 | 14 | 264µs | my $self = shift; | ||
| 82 | 14 | 15.0ms | $self->_instance_is_inlinable ? $self->_generate_predicate_method_inline(@_) # spent 14.4ms making 7 calls to Class::MOP::Method::Accessor::_generate_predicate_method_inline, avg 2.06ms/call
# spent 591µs making 7 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 84µs/call | ||
| 83 | : $self->SUPER::_generate_predicate_method(@_); | ||||
| 84 | } | ||||
| 85 | |||||
| 86 | sub _generate_clearer_method { | ||||
| 87 | my $self = shift; | ||||
| 88 | $self->_instance_is_inlinable ? $self->_generate_clearer_method_inline(@_) | ||||
| 89 | : $self->SUPER::_generate_clearer_method(@_); | ||||
| 90 | } | ||||
| 91 | |||||
| 92 | # spent 625µs (269+356) within Moose::Meta::Method::Accessor::_writer_value_needs_copy which was called 8 times, avg 78µs/call:
# 4 times (148µs+181µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_copy_native_value at line 104 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 82µs/call
# 4 times (121µs+175µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_set_new_value at line 150 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 74µs/call | ||||
| 93 | 8 | 249µs | 16 | 356µs | shift->associated_attribute->_writer_value_needs_copy(@_); # spent 293µs making 8 calls to Moose::Meta::Attribute::_writer_value_needs_copy, avg 37µs/call
# spent 63µs making 8 calls to Class::MOP::Method::Accessor::associated_attribute, avg 8µs/call |
| 94 | } | ||||
| 95 | |||||
| 96 | sub _inline_tc_code { | ||||
| 97 | shift->associated_attribute->_inline_tc_code(@_); | ||||
| 98 | } | ||||
| 99 | |||||
| 100 | sub _inline_check_constraint { | ||||
| 101 | shift->associated_attribute->_inline_check_constraint(@_); | ||||
| 102 | } | ||||
| 103 | |||||
| 104 | # spent 1.24ms (473µs+764µs) within Moose::Meta::Method::Accessor::_inline_check_lazy which was called 14 times, avg 88µs/call:
# 10 times (327µs+543µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 41 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 87µs/call
# 4 times (146µs+221µs) by Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core at line 36 of Moose/Meta/Method/Accessor/Native/Reader.pm, avg 92µs/call | ||||
| 105 | 14 | 430µs | 28 | 764µs | shift->associated_attribute->_inline_check_lazy(@_); # spent 637µs making 14 calls to Moose::Meta::Attribute::_inline_check_lazy, avg 46µs/call
# spent 127µs making 14 calls to Class::MOP::Method::Accessor::associated_attribute, avg 9µs/call |
| 106 | } | ||||
| 107 | |||||
| 108 | sub _inline_store_value { | ||||
| 109 | shift->associated_attribute->_inline_instance_set(@_) . ';'; | ||||
| 110 | } | ||||
| 111 | |||||
| 112 | # spent 605µs (249+356) within Moose::Meta::Method::Accessor::_inline_get_old_value_for_trigger which was called 6 times, avg 101µs/call:
# 6 times (249µs+356µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 54 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 101µs/call | ||||
| 113 | 6 | 217µs | 12 | 356µs | shift->associated_attribute->_inline_get_old_value_for_trigger(@_); # spent 304µs making 6 calls to Moose::Meta::Attribute::_inline_get_old_value_for_trigger, avg 51µs/call
# spent 52µs making 6 calls to Class::MOP::Method::Accessor::associated_attribute, avg 9µs/call |
| 114 | } | ||||
| 115 | |||||
| 116 | # spent 867µs (385+482) within Moose::Meta::Method::Accessor::_inline_trigger which was called 10 times, avg 87µs/call:
# 10 times (385µs+482µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 54 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 87µs/call | ||||
| 117 | 10 | 323µs | 20 | 482µs | shift->associated_attribute->_inline_trigger(@_); # spent 401µs making 10 calls to Moose::Meta::Attribute::_inline_trigger, avg 40µs/call
# spent 81µs making 10 calls to Class::MOP::Method::Accessor::associated_attribute, avg 8µs/call |
| 118 | } | ||||
| 119 | |||||
| 120 | # spent 2.40ms (433µs+1.97) within Moose::Meta::Method::Accessor::_get_value which was called 14 times, avg 172µs/call:
# 14 times (433µs+1.97ms) by Moose::Role::super at line 71 of Moose/Role.pm, avg 172µs/call | ||||
| 121 | 14 | 381µs | 28 | 1.97ms | shift->associated_attribute->_inline_instance_get(@_); # spent 1.86ms making 14 calls to Class::MOP::Attribute::_inline_instance_get, avg 133µs/call
# spent 114µs making 14 calls to Class::MOP::Method::Accessor::associated_attribute, avg 8µs/call |
| 122 | } | ||||
| 123 | |||||
| 124 | sub _has_value { | ||||
| 125 | shift->associated_attribute->_inline_instance_has(@_); | ||||
| 126 | } | ||||
| 127 | |||||
| 128 | 1 | 11µs | 1; | ||
| 129 | |||||
| 130 | __END__ |