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 | _inline_coerce_new_values | Moose::Meta::Method::Accessor::Native::Array::set::
4 | 1 | 1 | 14µs | 394µs | _inline_check_arguments | Moose::Meta::Method::Accessor::Native::Array::set::
8 | 2 | 2 | 14µs | 14µs | _return_value | Moose::Meta::Method::Accessor::Native::Array::set::
4 | 1 | 1 | 10µs | 10µs | _potential_value | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 9µs | 9µs | BEGIN@2 | Moose::Meta::Method::Accessor::Native::Array::set::
4 | 1 | 1 | 9µs | 9µs | _inline_optimized_set_new_value | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 7µs | 88µs | BEGIN@67 | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 7µs | 1.86ms | BEGIN@12 | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 6µs | 10µs | BEGIN@10 | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 6µs | 17µs | BEGIN@9 | Moose::Meta::Method::Accessor::Native::Array::set::
4 | 1 | 1 | 4µs | 4µs | _maximum_arguments | Moose::Meta::Method::Accessor::Native::Array::set::
4 | 1 | 1 | 4µs | 4µs | _minimum_arguments | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 2µs | 2µs | _new_members | Moose::Meta::Method::Accessor::Native::Array::set::
1 | 1 | 1 | 1µs | 1µs | _adds_members | Moose::Meta::Method::Accessor::Native::Array::set::
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; |