← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Wed Nov 17 21:42:38 2010
Reported on Wed Nov 17 22:05:30 2010

Filename/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Method/Accessor.pm
StatementsExecuted 2408 statements in 57.1ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1982216.4ms26.5msMoose::Meta::Method::Accessor::::_eval_environmentMoose::Meta::Method::Accessor::_eval_environment
2046212.1ms18.2msMoose::Meta::Method::Accessor::::_instance_is_inlinableMoose::Meta::Method::Accessor::_instance_is_inlinable
1986211.8ms339msMoose::Meta::Method::Accessor::::_compile_codeMoose::Meta::Method::Accessor::_compile_code
198117.83ms304msMoose::Meta::Method::Accessor::::__ANON__[:28]Moose::Meta::Method::Accessor::__ANON__[:28]
96113.48ms326msMoose::Meta::Method::Accessor::::_generate_reader_methodMoose::Meta::Method::Accessor::_generate_reader_method
30111.18ms65.7msMoose::Meta::Method::Accessor::::_generate_predicate_methodMoose::Meta::Method::Accessor::_generate_predicate_method
29111.13ms62.7msMoose::Meta::Method::Accessor::::_generate_clearer_methodMoose::Meta::Method::Accessor::_generate_clearer_method
26111.10ms108msMoose::Meta::Method::Accessor::::_generate_accessor_methodMoose::Meta::Method::Accessor::_generate_accessor_method
1111448µs31.0msMoose::Meta::Method::Accessor::::_generate_writer_methodMoose::Meta::Method::Accessor::_generate_writer_method
511202µs904µsMoose::Meta::Method::Accessor::::_get_valueMoose::Meta::Method::Accessor::_get_value
522185µs477µsMoose::Meta::Method::Accessor::::_inline_check_lazyMoose::Meta::Method::Accessor::_inline_check_lazy
421145µs313µsMoose::Meta::Method::Accessor::::_writer_value_needs_copyMoose::Meta::Method::Accessor::_writer_value_needs_copy
21183µs181µsMoose::Meta::Method::Accessor::::_inline_triggerMoose::Meta::Method::Accessor::_inline_trigger
11167µs85µsMoose::Meta::Method::Accessor::::BEGIN@4Moose::Meta::Method::Accessor::BEGIN@4
11140µs478µsMoose::Meta::Method::Accessor::::BEGIN@13Moose::Meta::Method::Accessor::BEGIN@13
11139µs248µsMoose::Meta::Method::Accessor::::BEGIN@7Moose::Meta::Method::Accessor::BEGIN@7
11137µs105µsMoose::Meta::Method::Accessor::::BEGIN@5Moose::Meta::Method::Accessor::BEGIN@5
0000s0sMoose::Meta::Method::Accessor::::__ANON__[:36]Moose::Meta::Method::Accessor::__ANON__[:36]
0000s0sMoose::Meta::Method::Accessor::::_error_throwerMoose::Meta::Method::Accessor::_error_thrower
0000s0sMoose::Meta::Method::Accessor::::_has_valueMoose::Meta::Method::Accessor::_has_value
0000s0sMoose::Meta::Method::Accessor::::_inline_check_constraintMoose::Meta::Method::Accessor::_inline_check_constraint
0000s0sMoose::Meta::Method::Accessor::::_inline_get_old_value_for_triggerMoose::Meta::Method::Accessor::_inline_get_old_value_for_trigger
0000s0sMoose::Meta::Method::Accessor::::_inline_store_valueMoose::Meta::Method::Accessor::_inline_store_value
0000s0sMoose::Meta::Method::Accessor::::_inline_tc_codeMoose::Meta::Method::Accessor::_inline_tc_code
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1
2package Moose::Meta::Method::Accessor;
3
43105µs2102µ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
use strict;
# spent 85µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@4 # spent 17µs making 1 call to strict::import
5390µs2173µ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
use warnings;
# spent 105µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@5 # spent 68µs making 1 call to warnings::import
6
73238µs2458µ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
use Try::Tiny;
# spent 248µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@7 # spent 209µs making 1 call to Exporter::import
8
915µsour $VERSION = '1.19';
10178µs$VERSION = eval $VERSION;
# spent 12µs executing statements in string eval
1114µsour $AUTHORITY = 'cpan:STEVAN';
12
131439µ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
use base 'Moose::Meta::Method',
# spent 439µs making 1 call to base::import
1432.23ms1478µs 'Class::MOP::Method::Accessor';
# spent 478µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@13
15
16sub _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
sub _compile_code {
2459411.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
try {
271987.72ms198296ms $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 );
363963.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
sub _eval_environment {
4079212.5ms my $self = shift;
41
421982.23ms my $attr = $self->associated_attribute;
# spent 2.23ms making 198 calls to Class::MOP::Method::Accessor::associated_attribute, avg 11µs/call
431983.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 {
4611.94ms3404.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
sub _instance_is_inlinable {
5840813.6ms my $self = shift;
598166.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
sub _generate_reader_method {
631923.22ms my $self = shift;
64192323ms $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
sub _generate_writer_method {
6922399µs my $self = shift;
702230.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
sub _generate_accessor_method {
7552941µs my $self = shift;
7652107ms $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
sub _generate_predicate_method {
81601.05ms my $self = shift;
826064.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
sub _generate_clearer_method {
87581.05ms my $self = shift;
885861.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
sub _writer_value_needs_copy {
934128µs8168µ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
96sub _inline_tc_code {
97 shift->associated_attribute->_inline_tc_code(@_);
98}
99
100sub _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
sub _inline_check_lazy {
1055170µs10291µ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
108sub _inline_store_value {
109 shift->associated_attribute->_inline_instance_set(@_) . ';';
110}
111
112sub _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
sub _inline_trigger {
117268µs498µ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
sub _get_value {
1215152µs10702µ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
124sub _has_value {
125 shift->associated_attribute->_inline_instance_has(@_);
126}
127
128111µs1;
129
130__END__