| Filename | /home/doy/coding/src/Moose/blib/lib//Moose/Meta/Method/Accessor.pm |
| Statements | Executed 2408 statements in 57.1ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 198 | 2 | 2 | 16.4ms | 26.5ms | Moose::Meta::Method::Accessor::_eval_environment |
| 204 | 6 | 2 | 12.1ms | 18.2ms | Moose::Meta::Method::Accessor::_instance_is_inlinable |
| 198 | 6 | 2 | 11.8ms | 339ms | Moose::Meta::Method::Accessor::_compile_code |
| 198 | 1 | 1 | 7.83ms | 304ms | Moose::Meta::Method::Accessor::__ANON__[:28] |
| 96 | 1 | 1 | 3.48ms | 326ms | Moose::Meta::Method::Accessor::_generate_reader_method |
| 30 | 1 | 1 | 1.18ms | 65.7ms | Moose::Meta::Method::Accessor::_generate_predicate_method |
| 29 | 1 | 1 | 1.13ms | 62.7ms | Moose::Meta::Method::Accessor::_generate_clearer_method |
| 26 | 1 | 1 | 1.10ms | 108ms | Moose::Meta::Method::Accessor::_generate_accessor_method |
| 11 | 1 | 1 | 448µs | 31.0ms | Moose::Meta::Method::Accessor::_generate_writer_method |
| 5 | 1 | 1 | 202µs | 904µs | Moose::Meta::Method::Accessor::_get_value |
| 5 | 2 | 2 | 185µs | 477µs | Moose::Meta::Method::Accessor::_inline_check_lazy |
| 4 | 2 | 1 | 145µs | 313µs | Moose::Meta::Method::Accessor::_writer_value_needs_copy |
| 2 | 1 | 1 | 83µs | 181µs | Moose::Meta::Method::Accessor::_inline_trigger |
| 1 | 1 | 1 | 67µs | 85µs | Moose::Meta::Method::Accessor::BEGIN@4 |
| 1 | 1 | 1 | 40µs | 478µs | Moose::Meta::Method::Accessor::BEGIN@13 |
| 1 | 1 | 1 | 39µs | 248µs | Moose::Meta::Method::Accessor::BEGIN@7 |
| 1 | 1 | 1 | 37µs | 105µ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::_has_value |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_inline_check_constraint |
| 0 | 0 | 0 | 0s | 0s | Moose::Meta::Method::Accessor::_inline_get_old_value_for_trigger |
| 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 | 105µs | 2 | 102µs | # spent 85µ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 85µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@4
# spent 17µs making 1 call to strict::import |
| 5 | 3 | 90µs | 2 | 173µs | # spent 105µs (37+68) within Moose::Meta::Method::Accessor::BEGIN@5 which was called:
# once (37µs+68µs) by Moose::Meta::Attribute::BEGIN@17 at line 5 # spent 105µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@5
# spent 68µs making 1 call to warnings::import |
| 6 | |||||
| 7 | 3 | 238µs | 2 | 458µs | # spent 248µs (39+209) within Moose::Meta::Method::Accessor::BEGIN@7 which was called:
# once (39µs+209µs) by Moose::Meta::Attribute::BEGIN@17 at line 7 # spent 248µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@7
# spent 209µs making 1 call to Exporter::import |
| 8 | |||||
| 9 | 1 | 5µs | our $VERSION = '1.19'; | ||
| 10 | 1 | 78µs | $VERSION = eval $VERSION; # spent 12µs executing statements in string eval | ||
| 11 | 1 | 4µs | our $AUTHORITY = 'cpan:STEVAN'; | ||
| 12 | |||||
| 13 | 1 | 439µs | # spent 478µs (40+439) within Moose::Meta::Method::Accessor::BEGIN@13 which was called:
# once (40µs+439µs) by Moose::Meta::Attribute::BEGIN@17 at line 14 # spent 439µs making 1 call to base::import | ||
| 14 | 3 | 2.23ms | 1 | 478µs | 'Class::MOP::Method::Accessor'; # spent 478µ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 339ms (11.8+327) within Moose::Meta::Method::Accessor::_compile_code which was called 198 times, avg 1.71ms/call:
# 97 times (5.85ms+160ms) 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.71ms/call
# 30 times (1.71ms+47.9ms) 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.65ms/call
# 29 times (1.64ms+45.1ms) by Class::MOP::Method::Accessor::__ANON__[/home/doy/coding/src/Class-MOP/blib/lib//Class/MOP/Method/Accessor.pm:232] at line 227 of Class/MOP/Method/Accessor.pm, avg 1.61ms/call
# 26 times (1.65ms+45.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.82ms/call
# 11 times (629µs+17.4ms) 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.64ms/call
# 5 times (348µs+10.9ms) by Moose::Meta::Method::Accessor::Native::_initialize_body at line 46 of Moose/Meta/Method/Accessor/Native.pm, avg 2.26ms/call | ||||
| 24 | 594 | 11.4ms | my $self = shift; | ||
| 25 | my @args = @_; | ||||
| 26 | # spent 304ms (7.83+296) within Moose::Meta::Method::Accessor::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Method/Accessor.pm:28] which was called 198 times, avg 1.53ms/call:
# 198 times (7.83ms+296ms) by Try::Tiny::try at line 71 of Try/Tiny.pm, avg 1.53ms/call | ||||
| 27 | 198 | 7.72ms | 198 | 296ms | $self->SUPER::_compile_code(@args); # spent 296ms making 198 calls to Class::MOP::Method::Generated::_compile_code, avg 1.49ms/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 | 396 | 3.76ms | }; # spent 3.76ms making 198 calls to Try::Tiny::catch, avg 19µs/call
# spent 323ms making 198 calls to Try::Tiny::try, avg 1.63ms/call, recursion: max depth 4, sum of overlapping time 323ms | ||
| 37 | } | ||||
| 38 | |||||
| 39 | # spent 26.5ms (16.4+10.1) within Moose::Meta::Method::Accessor::_eval_environment which was called 198 times, avg 134µs/call:
# 193 times (15.9ms+9.85ms) by Class::MOP::Method::Generated::_compile_code at line 47 of Class/MOP/Method/Generated.pm, avg 134µs/call
# 5 times (432µs+245µs) by Moose::Role::super at line 71 of Moose/Role.pm, avg 135µs/call | ||||
| 40 | 792 | 12.5ms | my $self = shift; | ||
| 41 | |||||
| 42 | 198 | 2.23ms | my $attr = $self->associated_attribute; # spent 2.23ms making 198 calls to Class::MOP::Method::Accessor::associated_attribute, avg 11µs/call | ||
| 43 | 198 | 3.43ms | my $type_constraint_obj = $attr->type_constraint; # spent 3.43ms making 198 calls to Moose::Meta::Mixin::AttributeCore::type_constraint, avg 17µs/call | ||
| 44 | |||||
| 45 | return { | ||||
| 46 | 1 | 1.94ms | 340 | 4.44ms | '$attr' => \$attr, # spent 2.62ms making 170 calls to Moose::Meta::TypeConstraint::_compiled_type_constraint, avg 15µs/call
# spent 1.82ms making 170 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 18.2ms (12.1+6.11) within Moose::Meta::Method::Accessor::_instance_is_inlinable which was called 204 times, avg 89µs/call:
# 96 times (5.66ms+2.89ms) by Moose::Meta::Method::Accessor::_generate_reader_method at line 64, avg 89µs/call
# 30 times (1.76ms+890µs) by Moose::Meta::Method::Accessor::_generate_predicate_method at line 82, avg 88µs/call
# 29 times (1.65ms+895µs) by Moose::Meta::Method::Accessor::_generate_clearer_method at line 88, avg 88µs/call
# 26 times (1.55ms+756µs) by Moose::Meta::Method::Accessor::_generate_accessor_method at line 76, avg 89µs/call
# 12 times (770µs+354µs) 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 (653µs+324µs) by Moose::Meta::Method::Accessor::_generate_writer_method at line 70, avg 89µs/call | ||||
| 58 | 408 | 13.6ms | my $self = shift; | ||
| 59 | 816 | 6.11ms | return $self->associated_attribute->associated_class->instance_metaclass->is_inlinable; # spent 1.84ms making 204 calls to Class::MOP::Method::Accessor::associated_attribute, avg 9µs/call
# spent 1.79ms making 204 calls to Class::MOP::Instance::is_inlinable, avg 9µs/call
# spent 1.27ms making 204 calls to Class::MOP::Class::instance_metaclass, avg 6µs/call
# spent 1.20ms making 204 calls to Class::MOP::Attribute::associated_class, avg 6µs/call | ||
| 60 | } | ||||
| 61 | |||||
| 62 | # spent 326ms (3.48+323) within Moose::Meta::Method::Accessor::_generate_reader_method which was called 96 times, avg 3.40ms/call:
# 96 times (3.48ms+323ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 3.40ms/call | ||||
| 63 | 192 | 3.22ms | my $self = shift; | ||
| 64 | 192 | 323ms | $self->_instance_is_inlinable ? $self->_generate_reader_method_inline(@_) # spent 314ms making 96 calls to Class::MOP::Method::Accessor::_generate_reader_method_inline, avg 3.27ms/call
# spent 8.55ms making 96 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 89µs/call | ||
| 65 | : $self->SUPER::_generate_reader_method(@_); | ||||
| 66 | } | ||||
| 67 | |||||
| 68 | # spent 31.0ms (448µs+30.5) within Moose::Meta::Method::Accessor::_generate_writer_method which was called 11 times, avg 2.82ms/call:
# 11 times (448µs+30.5ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 2.82ms/call | ||||
| 69 | 22 | 399µs | my $self = shift; | ||
| 70 | 22 | 30.5ms | $self->_instance_is_inlinable ? $self->_generate_writer_method_inline(@_) # spent 29.6ms making 11 calls to Class::MOP::Method::Accessor::_generate_writer_method_inline, avg 2.69ms/call
# spent 977µs making 11 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 89µs/call | ||
| 71 | : $self->SUPER::_generate_writer_method(@_); | ||||
| 72 | } | ||||
| 73 | |||||
| 74 | # spent 108ms (1.10+107) within Moose::Meta::Method::Accessor::_generate_accessor_method which was called 26 times, avg 4.16ms/call:
# 26 times (1.10ms+107ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 4.16ms/call | ||||
| 75 | 52 | 941µs | my $self = shift; | ||
| 76 | 52 | 107ms | $self->_instance_is_inlinable ? $self->_generate_accessor_method_inline(@_) # spent 105ms making 26 calls to Class::MOP::Method::Accessor::_generate_accessor_method_inline, avg 4.03ms/call
# spent 2.31ms making 26 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 89µs/call | ||
| 77 | : $self->SUPER::_generate_accessor_method(@_); | ||||
| 78 | } | ||||
| 79 | |||||
| 80 | # spent 65.7ms (1.18+64.6) within Moose::Meta::Method::Accessor::_generate_predicate_method which was called 30 times, avg 2.19ms/call:
# 30 times (1.18ms+64.6ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 2.19ms/call | ||||
| 81 | 60 | 1.05ms | my $self = shift; | ||
| 82 | 60 | 64.6ms | $self->_instance_is_inlinable ? $self->_generate_predicate_method_inline(@_) # spent 61.9ms making 30 calls to Class::MOP::Method::Accessor::_generate_predicate_method_inline, avg 2.06ms/call
# spent 2.65ms making 30 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 88µs/call | ||
| 83 | : $self->SUPER::_generate_predicate_method(@_); | ||||
| 84 | } | ||||
| 85 | |||||
| 86 | # spent 62.7ms (1.13+61.6) within Moose::Meta::Method::Accessor::_generate_clearer_method which was called 29 times, avg 2.16ms/call:
# 29 times (1.13ms+61.6ms) by Class::MOP::Method::Accessor::_initialize_body at line 88 of Class/MOP/Method/Accessor.pm, avg 2.16ms/call | ||||
| 87 | 58 | 1.05ms | my $self = shift; | ||
| 88 | 58 | 61.6ms | $self->_instance_is_inlinable ? $self->_generate_clearer_method_inline(@_) # spent 59.0ms making 29 calls to Class::MOP::Method::Accessor::_generate_clearer_method_inline, avg 2.03ms/call
# spent 2.55ms making 29 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 88µs/call | ||
| 89 | : $self->SUPER::_generate_clearer_method(@_); | ||||
| 90 | } | ||||
| 91 | |||||
| 92 | # spent 313µs (145+168) within Moose::Meta::Method::Accessor::_writer_value_needs_copy which was called 4 times, avg 78µs/call:
# 2 times (87µs+85µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_copy_native_value at line 104 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 86µs/call
# 2 times (58µs+82µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_set_new_value at line 150 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 70µs/call | ||||
| 93 | 4 | 128µs | 8 | 168µs | shift->associated_attribute->_writer_value_needs_copy(@_); # spent 136µs making 4 calls to Moose::Meta::Attribute::_writer_value_needs_copy, avg 34µs/call
# spent 32µs making 4 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 477µs (185+291) within Moose::Meta::Method::Accessor::_inline_check_lazy which was called 5 times, avg 95µs/call:
# 3 times (103µs+161µs) by Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core at line 36 of Moose/Meta/Method/Accessor/Native/Reader.pm, avg 88µs/call
# 2 times (82µs+131µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 41 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 106µs/call | ||||
| 105 | 5 | 170µs | 10 | 291µs | shift->associated_attribute->_inline_check_lazy(@_); # spent 248µs making 5 calls to Moose::Meta::Attribute::_inline_check_lazy, avg 50µs/call
# spent 43µs making 5 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 | sub _inline_get_old_value_for_trigger { | ||||
| 113 | shift->associated_attribute->_inline_get_old_value_for_trigger(@_); | ||||
| 114 | } | ||||
| 115 | |||||
| 116 | # spent 181µs (83+98) within Moose::Meta::Method::Accessor::_inline_trigger which was called 2 times, avg 91µs/call:
# 2 times (83µs+98µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 54 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 91µs/call | ||||
| 117 | 2 | 68µs | 4 | 98µs | shift->associated_attribute->_inline_trigger(@_); # spent 81µs making 2 calls to Moose::Meta::Attribute::_inline_trigger, avg 40µs/call
# spent 18µs making 2 calls to Class::MOP::Method::Accessor::associated_attribute, avg 9µs/call |
| 118 | } | ||||
| 119 | |||||
| 120 | # spent 904µs (202+702) within Moose::Meta::Method::Accessor::_get_value which was called 5 times, avg 181µs/call:
# 5 times (202µs+702µs) by Moose::Role::super at line 71 of Moose/Role.pm, avg 181µs/call | ||||
| 121 | 5 | 152µs | 10 | 702µs | shift->associated_attribute->_inline_instance_get(@_); # spent 662µs making 5 calls to Class::MOP::Attribute::_inline_instance_get, avg 132µs/call
# spent 41µs making 5 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__ |