Filename | /Users/ap13/perl5/lib/perl5/darwin-2level/Moose/Meta/Method/Accessor.pm |
Statements | Executed 2492 statements in 9.30ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
206 | 4 | 1 | 2.25ms | 3.04ms | _instance_is_inlinable | Moose::Meta::Method::Accessor::
207 | 4 | 1 | 2.01ms | 90.9ms | _compile_code | Moose::Meta::Method::Accessor::
207 | 1 | 1 | 1.21ms | 18.4ms | _eval_environment | Moose::Meta::Method::Accessor::
140 | 1 | 1 | 902µs | 111ms | _generate_reader_method | Moose::Meta::Method::Accessor::
207 | 1 | 1 | 447µs | 447µs | new | Moose::Meta::Method::Accessor::
50 | 1 | 1 | 403µs | 52.3ms | _generate_accessor_method | Moose::Meta::Method::Accessor::
207 | 1 | 1 | 303µs | 303µs | _new | Moose::Meta::Method::Accessor::
8 | 1 | 1 | 70µs | 2.87ms | _generate_predicate_method | Moose::Meta::Method::Accessor::
8 | 1 | 1 | 69µs | 3.10ms | _generate_clearer_method | Moose::Meta::Method::Accessor::
1 | 1 | 1 | 13µs | 26µs | BEGIN@4 | Moose::Meta::Method::Accessor::
1 | 1 | 1 | 10µs | 206µs | BEGIN@12 | Moose::Meta::Method::Accessor::
1 | 1 | 1 | 9µs | 55µs | BEGIN@9 | Moose::Meta::Method::Accessor::
1 | 1 | 1 | 8µs | 13µs | BEGIN@5 | Moose::Meta::Method::Accessor::
1 | 1 | 1 | 8µs | 41µs | BEGIN@7 | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | __ANON__[:35] | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | __ANON__[:41] | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _error_thrower | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _generate_writer_method | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _get_value | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _has_value | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_check_coercion | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_check_constraint | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_check_lazy | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_get_old_value_for_trigger | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_store_value | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_tc_code | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _inline_trigger | Moose::Meta::Method::Accessor::
0 | 0 | 0 | 0s | 0s | _writer_value_needs_copy | Moose::Meta::Method::Accessor::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Moose::Meta::Method::Accessor; | ||||
2 | 1 | 700ns | our $VERSION = '2.1403'; | ||
3 | |||||
4 | 2 | 22µs | 2 | 40µs | # spent 26µs (13+13) within Moose::Meta::Method::Accessor::BEGIN@4 which was called:
# once (13µs+13µs) by Moose::Meta::Attribute::BEGIN@13 at line 4 # spent 26µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@4
# spent 13µs making 1 call to strict::import |
5 | 2 | 21µs | 2 | 19µs | # spent 13µs (8+6) within Moose::Meta::Method::Accessor::BEGIN@5 which was called:
# once (8µs+6µs) by Moose::Meta::Attribute::BEGIN@13 at line 5 # spent 13µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@5
# spent 6µs making 1 call to warnings::import |
6 | |||||
7 | 2 | 25µs | 2 | 74µs | # spent 41µs (8+33) within Moose::Meta::Method::Accessor::BEGIN@7 which was called:
# once (8µs+33µs) by Moose::Meta::Attribute::BEGIN@13 at line 7 # spent 41µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@7
# spent 33µs making 1 call to Exporter::import |
8 | |||||
9 | 2 | 6µs | # spent 55µs (9+47) within Moose::Meta::Method::Accessor::BEGIN@9 which was called:
# once (9µs+47µs) by Moose::Meta::Attribute::BEGIN@13 at line 10 | ||
10 | 1 | 24µs | 2 | 102µs | 'Class::MOP::Method::Accessor'; # spent 55µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@9
# spent 47µs making 1 call to parent::import |
11 | |||||
12 | 2 | 560µs | 2 | 401µs | # spent 206µs (10+196) within Moose::Meta::Method::Accessor::BEGIN@12 which was called:
# once (10µs+196µs) by Moose::Meta::Attribute::BEGIN@13 at line 12 # spent 206µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@12
# spent 196µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337] |
13 | |||||
14 | # multiple inheritance is terrible | ||||
15 | # spent 447µs within Moose::Meta::Method::Accessor::new which was called 207 times, avg 2µs/call:
# 207 times (447µs+0s) by Class::MOP::Attribute::try {...} at line 407 of Class/MOP/Attribute.pm, avg 2µs/call | ||||
16 | 207 | 863µs | 207 | 222ms | goto &Class::MOP::Method::Accessor::new; # spent 222ms making 207 calls to Class::MOP::Method::Accessor::new, avg 1.07ms/call |
17 | } | ||||
18 | |||||
19 | # spent 303µs within Moose::Meta::Method::Accessor::_new which was called 207 times, avg 1µs/call:
# 207 times (303µs+0s) by Class::MOP::Method::Accessor::new at line 36 of Class/MOP/Method/Accessor.pm, avg 1µs/call | ||||
20 | 207 | 680µs | 207 | 43.9ms | goto &Class::MOP::Method::Accessor::_new; # spent 43.9ms making 207 calls to Class::MOP::Method::Accessor::_new, avg 212µs/call |
21 | } | ||||
22 | |||||
23 | sub _error_thrower { | ||||
24 | my $self = shift; | ||||
25 | return $self->associated_attribute | ||||
26 | if ref($self) && defined($self->associated_attribute); | ||||
27 | return $self->SUPER::_error_thrower; | ||||
28 | } | ||||
29 | |||||
30 | # spent 90.9ms (2.01+88.8) within Moose::Meta::Method::Accessor::_compile_code which was called 207 times, avg 439µs/call:
# 141 times (1.39ms+60.0ms) by Class::MOP::Method::Accessor::try {...} at line 151 of Class/MOP/Method/Accessor.pm, avg 436µs/call
# 50 times (504µs+24.4ms) by Class::MOP::Method::Accessor::try {...} at line 113 of Class/MOP/Method/Accessor.pm, avg 499µs/call
# 8 times (60µs+2.28ms) by Class::MOP::Method::Accessor::try {...} at line 247 of Class/MOP/Method/Accessor.pm, avg 292µs/call
# 8 times (59µs+2.08ms) by Class::MOP::Method::Accessor::try {...} at line 219 of Class/MOP/Method/Accessor.pm, avg 268µs/call | ||||
31 | 621 | 1.71ms | my $self = shift; | ||
32 | my @args = @_; | ||||
33 | try { | ||||
34 | 207 | 1.17ms | 207 | 82.4ms | $self->SUPER::_compile_code(@args); # spent 82.4ms making 207 calls to Class::MOP::Method::Generated::_compile_code, avg 398µs/call |
35 | } | ||||
36 | catch { | ||||
37 | throw_exception( CouldNotCreateWriter => attribute => $self->associated_attribute, | ||||
38 | error => $_, | ||||
39 | instance => $self | ||||
40 | ); | ||||
41 | 414 | 580µs | }; # spent 580µs making 207 calls to Try::Tiny::catch, avg 3µs/call
# spent 88.3ms making 207 calls to Try::Tiny::try, avg 426µs/call, recursion: max depth 3, sum of overlapping time 88.3ms | ||
42 | } | ||||
43 | |||||
44 | # spent 18.4ms (1.21+17.2) within Moose::Meta::Method::Accessor::_eval_environment which was called 207 times, avg 89µs/call:
# 207 times (1.21ms+17.2ms) by Class::MOP::Method::Generated::_compile_code at line 52 of Class/MOP/Method/Generated.pm, avg 89µs/call | ||||
45 | 414 | 872µs | my $self = shift; | ||
46 | 414 | 17.2ms | return $self->associated_attribute->_eval_environment; # spent 16.9ms making 207 calls to Moose::Meta::Attribute::_eval_environment, avg 82µs/call
# spent 284µs making 207 calls to Class::MOP::Method::Accessor::associated_attribute, avg 1µs/call | ||
47 | } | ||||
48 | |||||
49 | # spent 3.04ms (2.25+795µs) within Moose::Meta::Method::Accessor::_instance_is_inlinable which was called 206 times, avg 15µs/call:
# 140 times (1.53ms+538µs) by Moose::Meta::Method::Accessor::_generate_reader_method at line 56, avg 15µs/call
# 50 times (572µs+211µs) by Moose::Meta::Method::Accessor::_generate_accessor_method at line 68, avg 16µs/call
# 8 times (74µs+24µs) by Moose::Meta::Method::Accessor::_generate_predicate_method at line 74, avg 12µs/call
# 8 times (70µs+23µs) by Moose::Meta::Method::Accessor::_generate_clearer_method at line 80, avg 12µs/call | ||||
50 | 412 | 2.23ms | my $self = shift; | ||
51 | 824 | 795µs | return $self->associated_attribute->associated_class->instance_metaclass->is_inlinable; # spent 261µs making 206 calls to Class::MOP::Instance::is_inlinable, avg 1µs/call
# spent 241µs making 206 calls to Class::MOP::Method::Accessor::associated_attribute, avg 1µs/call
# spent 165µs making 206 calls to Class::MOP::Class::instance_metaclass, avg 802ns/call
# spent 128µs making 206 calls to Class::MOP::Attribute::associated_class, avg 620ns/call | ||
52 | } | ||||
53 | |||||
54 | # spent 111ms (902µs+110) within Moose::Meta::Method::Accessor::_generate_reader_method which was called 140 times, avg 790µs/call:
# 140 times (902µs+110ms) by Class::MOP::Method::Accessor::_initialize_body at line 91 of Class/MOP/Method/Accessor.pm, avg 790µs/call | ||||
55 | 280 | 684µs | my $self = shift; | ||
56 | 280 | 110ms | $self->_instance_is_inlinable ? $self->_generate_reader_method_inline(@_) # spent 108ms making 140 calls to Class::MOP::Method::Accessor::_generate_reader_method_inline, avg 769µs/call
# spent 2.07ms making 140 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 15µs/call | ||
57 | : $self->SUPER::_generate_reader_method(@_); | ||||
58 | } | ||||
59 | |||||
60 | sub _generate_writer_method { | ||||
61 | my $self = shift; | ||||
62 | $self->_instance_is_inlinable ? $self->_generate_writer_method_inline(@_) | ||||
63 | : $self->SUPER::_generate_writer_method(@_); | ||||
64 | } | ||||
65 | |||||
66 | # spent 52.3ms (403µs+51.8) within Moose::Meta::Method::Accessor::_generate_accessor_method which was called 50 times, avg 1.05ms/call:
# 50 times (403µs+51.8ms) by Class::MOP::Method::Accessor::_initialize_body at line 91 of Class/MOP/Method/Accessor.pm, avg 1.05ms/call | ||||
67 | 100 | 321µs | my $self = shift; | ||
68 | 100 | 51.8ms | $self->_instance_is_inlinable ? $self->_generate_accessor_method_inline(@_) # spent 51.1ms making 50 calls to Class::MOP::Method::Accessor::_generate_accessor_method_inline, avg 1.02ms/call
# spent 783µs making 50 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 16µs/call | ||
69 | : $self->SUPER::_generate_accessor_method(@_); | ||||
70 | } | ||||
71 | |||||
72 | # spent 2.87ms (70µs+2.80) within Moose::Meta::Method::Accessor::_generate_predicate_method which was called 8 times, avg 359µs/call:
# 8 times (70µs+2.80ms) by Class::MOP::Method::Accessor::_initialize_body at line 91 of Class/MOP/Method/Accessor.pm, avg 359µs/call | ||||
73 | 16 | 53µs | my $self = shift; | ||
74 | 16 | 2.80ms | $self->_instance_is_inlinable ? $self->_generate_predicate_method_inline(@_) # spent 2.70ms making 8 calls to Class::MOP::Method::Accessor::_generate_predicate_method_inline, avg 338µs/call
# spent 98µs making 8 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 12µs/call | ||
75 | : $self->SUPER::_generate_predicate_method(@_); | ||||
76 | } | ||||
77 | |||||
78 | # spent 3.10ms (69µs+3.03) within Moose::Meta::Method::Accessor::_generate_clearer_method which was called 8 times, avg 387µs/call:
# 8 times (69µs+3.03ms) by Class::MOP::Method::Accessor::_initialize_body at line 91 of Class/MOP/Method/Accessor.pm, avg 387µs/call | ||||
79 | 16 | 48µs | my $self = shift; | ||
80 | 16 | 3.03ms | $self->_instance_is_inlinable ? $self->_generate_clearer_method_inline(@_) # spent 2.94ms making 8 calls to Class::MOP::Method::Accessor::_generate_clearer_method_inline, avg 367µs/call
# spent 93µs making 8 calls to Moose::Meta::Method::Accessor::_instance_is_inlinable, avg 12µs/call | ||
81 | : $self->SUPER::_generate_clearer_method(@_); | ||||
82 | } | ||||
83 | |||||
84 | sub _writer_value_needs_copy { | ||||
85 | shift->associated_attribute->_writer_value_needs_copy(@_); | ||||
86 | } | ||||
87 | |||||
88 | sub _inline_tc_code { | ||||
89 | shift->associated_attribute->_inline_tc_code(@_); | ||||
90 | } | ||||
91 | |||||
92 | sub _inline_check_coercion { | ||||
93 | shift->associated_attribute->_inline_check_coercion(@_); | ||||
94 | } | ||||
95 | |||||
96 | sub _inline_check_constraint { | ||||
97 | shift->associated_attribute->_inline_check_constraint(@_); | ||||
98 | } | ||||
99 | |||||
100 | sub _inline_check_lazy { | ||||
101 | shift->associated_attribute->_inline_check_lazy(@_); | ||||
102 | } | ||||
103 | |||||
104 | sub _inline_store_value { | ||||
105 | shift->associated_attribute->_inline_instance_set(@_) . ';'; | ||||
106 | } | ||||
107 | |||||
108 | sub _inline_get_old_value_for_trigger { | ||||
109 | shift->associated_attribute->_inline_get_old_value_for_trigger(@_); | ||||
110 | } | ||||
111 | |||||
112 | sub _inline_trigger { | ||||
113 | shift->associated_attribute->_inline_trigger(@_); | ||||
114 | } | ||||
115 | |||||
116 | sub _get_value { | ||||
117 | shift->associated_attribute->_inline_instance_get(@_); | ||||
118 | } | ||||
119 | |||||
120 | sub _has_value { | ||||
121 | shift->associated_attribute->_inline_instance_has(@_); | ||||
122 | } | ||||
123 | |||||
124 | 1 | 3µs | 1; | ||
125 | |||||
126 | # ABSTRACT: A Moose Method metaclass for accessors | ||||
127 | |||||
128 | __END__ |