| Filename | /Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/darwin-thread-multi-2level/Moose/Meta/Method/Accessor/Native/Array/set.pm |
| Statements | Executed 87 statements in 459µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 4 | 1 | 1 | 21µs | 29µs | Moose::Meta::Method::Accessor::Native::Array::set::_inline_coerce_new_values |
| 4 | 1 | 1 | 14µs | 394µs | Moose::Meta::Method::Accessor::Native::Array::set::_inline_check_arguments |
| 8 | 2 | 2 | 14µs | 14µs | Moose::Meta::Method::Accessor::Native::Array::set::_return_value |
| 4 | 1 | 1 | 10µs | 10µs | Moose::Meta::Method::Accessor::Native::Array::set::_potential_value |
| 1 | 1 | 1 | 9µs | 9µs | Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@2 |
| 4 | 1 | 1 | 9µs | 9µs | Moose::Meta::Method::Accessor::Native::Array::set::_inline_optimized_set_new_value |
| 1 | 1 | 1 | 7µs | 88µs | Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@67 |
| 1 | 1 | 1 | 7µs | 1.86ms | Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@12 |
| 1 | 1 | 1 | 6µs | 10µs | Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@10 |
| 1 | 1 | 1 | 6µs | 17µs | Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@9 |
| 4 | 1 | 1 | 4µs | 4µs | Moose::Meta::Method::Accessor::Native::Array::set::_maximum_arguments |
| 4 | 1 | 1 | 4µs | 4µs | Moose::Meta::Method::Accessor::Native::Array::set::_minimum_arguments |
| 1 | 1 | 1 | 2µs | 2µs | Moose::Meta::Method::Accessor::Native::Array::set::_new_members |
| 1 | 1 | 1 | 1µs | 1µs | Moose::Meta::Method::Accessor::Native::Array::set::_adds_members |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Moose::Meta::Method::Accessor::Native::Array::set; | ||||
| 2 | # spent 9µs within Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@2 which was called:
# once (9µs+0s) by Module::Runtime::require_module at line 4 | ||||
| 3 | 1 | 4µs | $Moose::Meta::Method::Accessor::Native::Array::set::AUTHORITY = 'cpan:STEVAN'; | ||
| 4 | 1 | 32µs | 1 | 9µs | } # spent 9µs making 1 call to Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@2 |
| 5 | { | ||||
| 6 | 2 | 600ns | $Moose::Meta::Method::Accessor::Native::Array::set::VERSION = '2.1005'; | ||
| 7 | } | ||||
| 8 | |||||
| 9 | 2 | 24µs | 2 | 27µs | # spent 17µs (6+11) within Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@9 which was called:
# once (6µs+11µs) by Module::Runtime::require_module at line 9 # spent 17µs making 1 call to Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@9
# spent 11µs making 1 call to strict::import |
| 10 | 2 | 20µs | 2 | 14µs | # spent 10µs (6+4) within Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@10 which was called:
# once (6µs+4µs) by Module::Runtime::require_module at line 10 # spent 10µs making 1 call to Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@10
# spent 4µs making 1 call to warnings::import |
| 11 | |||||
| 12 | 2 | 245µs | 2 | 3.72ms | # spent 1.86ms (7µs+1.86) within Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@12 which was called:
# once (7µs+1.86ms) by Module::Runtime::require_module at line 12 # spent 1.86ms making 1 call to Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@12
# spent 1.86ms making 1 call to Moose::Exporter::__ANON__[Moose/Exporter.pm:519] |
| 13 | |||||
| 14 | 1 | 2µs | 1 | 6.50ms | with 'Moose::Meta::Method::Accessor::Native::Array::Writer'; # spent 6.50ms making 1 call to Moose::Role::with |
| 15 | |||||
| 16 | 4 | 8µs | # spent 4µs within Moose::Meta::Method::Accessor::Native::Array::set::_minimum_arguments which was called 4 times, avg 1µs/call:
# 4 times (4µs+0s) by Moose::Meta::Method::Accessor::Native::_inline_check_argument_count at line 75 of Moose/Meta/Method/Accessor/Native.pm, avg 1µs/call | ||
| 17 | |||||
| 18 | 4 | 8µs | # spent 4µs within Moose::Meta::Method::Accessor::Native::Array::set::_maximum_arguments which was called 4 times, avg 1µs/call:
# 4 times (4µs+0s) by Moose::Meta::Method::Accessor::Native::_inline_check_argument_count at line 90 of Moose/Meta/Method/Accessor/Native.pm, avg 1µs/call | ||
| 19 | |||||
| 20 | # spent 394µs (14+380) within Moose::Meta::Method::Accessor::Native::Array::set::_inline_check_arguments which was called 4 times, avg 98µs/call:
# 4 times (14µs+380µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 44 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 98µs/call | ||||
| 21 | 4 | 600ns | my $self = shift; | ||
| 22 | |||||
| 23 | 4 | 11µs | 4 | 380µs | return $self->_inline_check_var_is_valid_index('$_[0]'); # spent 380µs making 4 calls to Moose::Meta::Method::Accessor::Native::Array::_inline_check_var_is_valid_index, avg 95µs/call |
| 24 | } | ||||
| 25 | |||||
| 26 | 1 | 3µs | # spent 1µs within Moose::Meta::Method::Accessor::Native::Array::set::_adds_members which was called:
# once (1µs+0s) by Moose::Meta::Method::Accessor::Native::Collection::_inline_tc_code at line 64 of Moose/Meta/Method/Accessor/Native/Collection.pm | ||
| 27 | |||||
| 28 | # spent 10µs within Moose::Meta::Method::Accessor::Native::Array::set::_potential_value which was called 4 times, avg 3µs/call:
# 4 times (10µs+0s) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 40 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 3µs/call | ||||
| 29 | 4 | 700ns | my $self = shift; | ||
| 30 | 4 | 1µs | my ($slot_access) = @_; | ||
| 31 | |||||
| 32 | 4 | 11µs | return '(do { ' | ||
| 33 | . 'my @potential = @{ (' . $slot_access . ') }; ' | ||||
| 34 | . '$potential[$_[0]] = $_[1]; ' | ||||
| 35 | . '\@potential; ' | ||||
| 36 | . '})'; | ||||
| 37 | } | ||||
| 38 | |||||
| 39 | # We need to override this because while @_ can be written to, we cannot write | ||||
| 40 | # directly to $_[1]. | ||||
| 41 | # spent 29µs (21+8) within Moose::Meta::Method::Accessor::Native::Array::set::_inline_coerce_new_values which was called 4 times, avg 7µs/call:
# 4 times (21µs+8µs) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 57 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 7µs/call | ||||
| 42 | 4 | 700ns | my $self = shift; | ||
| 43 | |||||
| 44 | 4 | 13µs | 8 | 8µs | return unless $self->associated_attribute->should_coerce; # spent 4µs making 4 calls to Moose::Meta::Mixin::AttributeCore::should_coerce, avg 1µs/call
# spent 4µs making 4 calls to Class::MOP::Method::Accessor::associated_attribute, avg 900ns/call |
| 45 | |||||
| 46 | return unless $self->_tc_member_type_can_coerce; | ||||
| 47 | |||||
| 48 | return '@_ = ($_[0], $member_coercion->($_[1]));'; | ||||
| 49 | }; | ||||
| 50 | |||||
| 51 | 1 | 3µs | # spent 2µs within Moose::Meta::Method::Accessor::Native::Array::set::_new_members which was called:
# once (2µs+0s) by Moose::Meta::Method::Accessor::Native::Collection::_inline_tc_code at line 66 of Moose/Meta/Method/Accessor/Native/Collection.pm | ||
| 52 | |||||
| 53 | # spent 9µs within Moose::Meta::Method::Accessor::Native::Array::set::_inline_optimized_set_new_value which was called 4 times, avg 2µs/call:
# 4 times (9µs+0s) by Moose::Meta::Method::Accessor::Native::Writer::_inline_set_new_value at line 154 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 2µs/call | ||||
| 54 | 4 | 800ns | my $self = shift; | ||
| 55 | 4 | 2µs | my ($inv, $new, $slot_access) = @_; | ||
| 56 | |||||
| 57 | 4 | 10µs | return $slot_access . '->[$_[0]] = $_[1];'; | ||
| 58 | } | ||||
| 59 | |||||
| 60 | # spent 14µs within Moose::Meta::Method::Accessor::Native::Array::set::_return_value which was called 8 times, avg 2µs/call:
# 4 times (8µs+0s) by Moose::Meta::Method::Accessor::Native::Writer::_inline_writer_core at line 51 of Moose/Meta/Method/Accessor/Native/Writer.pm, avg 2µs/call
# 4 times (5µs+0s) by Moose::Meta::Method::Accessor::Native::_inline_return_value at line 112 of Moose/Meta/Method/Accessor/Native.pm, avg 1µs/call | ||||
| 61 | 8 | 1µs | my $self = shift; | ||
| 62 | 8 | 2µs | my ($slot_access) = @_; | ||
| 63 | |||||
| 64 | 8 | 17µs | return $slot_access . '->[$_[0]]'; | ||
| 65 | } | ||||
| 66 | |||||
| 67 | 2 | 32µs | 2 | 168µs | # spent 88µs (7+80) within Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@67 which was called:
# once (7µs+80µs) by Module::Runtime::require_module at line 67 # spent 88µs making 1 call to Moose::Meta::Method::Accessor::Native::Array::set::BEGIN@67
# spent 80µs making 1 call to Moose::Exporter::__ANON__[Moose/Exporter.pm:706] |
| 68 | |||||
| 69 | 1 | 7µs | 1; |