← Index
NYTProf Performance Profile   « block view • line view • sub view »
For bin/pan_genome_post_analysis
  Run on Fri Mar 27 11:43:32 2015
Reported on Fri Mar 27 11:45:38 2015

Filename/Users/ap13/perl5/lib/perl5/darwin-2level/Moose/Meta/Method/Accessor.pm
StatementsExecuted 2492 statements in 9.30ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
206412.25ms3.04msMoose::Meta::Method::Accessor::::_instance_is_inlinableMoose::Meta::Method::Accessor::_instance_is_inlinable
207412.01ms90.9msMoose::Meta::Method::Accessor::::_compile_codeMoose::Meta::Method::Accessor::_compile_code
207111.21ms18.4msMoose::Meta::Method::Accessor::::_eval_environmentMoose::Meta::Method::Accessor::_eval_environment
14011902µs111msMoose::Meta::Method::Accessor::::_generate_reader_methodMoose::Meta::Method::Accessor::_generate_reader_method
20711447µs447µsMoose::Meta::Method::Accessor::::newMoose::Meta::Method::Accessor::new
5011403µs52.3msMoose::Meta::Method::Accessor::::_generate_accessor_methodMoose::Meta::Method::Accessor::_generate_accessor_method
20711303µs303µsMoose::Meta::Method::Accessor::::_newMoose::Meta::Method::Accessor::_new
81170µs2.87msMoose::Meta::Method::Accessor::::_generate_predicate_methodMoose::Meta::Method::Accessor::_generate_predicate_method
81169µs3.10msMoose::Meta::Method::Accessor::::_generate_clearer_methodMoose::Meta::Method::Accessor::_generate_clearer_method
11113µs26µsMoose::Meta::Method::Accessor::::BEGIN@4Moose::Meta::Method::Accessor::BEGIN@4
11110µs206µsMoose::Meta::Method::Accessor::::BEGIN@12Moose::Meta::Method::Accessor::BEGIN@12
1119µs55µsMoose::Meta::Method::Accessor::::BEGIN@9Moose::Meta::Method::Accessor::BEGIN@9
1118µs13µsMoose::Meta::Method::Accessor::::BEGIN@5Moose::Meta::Method::Accessor::BEGIN@5
1118µs41µsMoose::Meta::Method::Accessor::::BEGIN@7Moose::Meta::Method::Accessor::BEGIN@7
0000s0sMoose::Meta::Method::Accessor::::__ANON__[:35]Moose::Meta::Method::Accessor::__ANON__[:35]
0000s0sMoose::Meta::Method::Accessor::::__ANON__[:41]Moose::Meta::Method::Accessor::__ANON__[:41]
0000s0sMoose::Meta::Method::Accessor::::_error_throwerMoose::Meta::Method::Accessor::_error_thrower
0000s0sMoose::Meta::Method::Accessor::::_generate_writer_methodMoose::Meta::Method::Accessor::_generate_writer_method
0000s0sMoose::Meta::Method::Accessor::::_get_valueMoose::Meta::Method::Accessor::_get_value
0000s0sMoose::Meta::Method::Accessor::::_has_valueMoose::Meta::Method::Accessor::_has_value
0000s0sMoose::Meta::Method::Accessor::::_inline_check_coercionMoose::Meta::Method::Accessor::_inline_check_coercion
0000s0sMoose::Meta::Method::Accessor::::_inline_check_constraintMoose::Meta::Method::Accessor::_inline_check_constraint
0000s0sMoose::Meta::Method::Accessor::::_inline_check_lazyMoose::Meta::Method::Accessor::_inline_check_lazy
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
0000s0sMoose::Meta::Method::Accessor::::_inline_triggerMoose::Meta::Method::Accessor::_inline_trigger
0000s0sMoose::Meta::Method::Accessor::::_writer_value_needs_copyMoose::Meta::Method::Accessor::_writer_value_needs_copy
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Moose::Meta::Method::Accessor;
21700nsour $VERSION = '2.1403';
3
4222µs240µ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
use strict;
# spent 26µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@4 # spent 13µs making 1 call to strict::import
5221µs219µ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
use warnings;
# spent 13µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@5 # spent 6µs making 1 call to warnings::import
6
7225µs274µ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
use Try::Tiny;
# spent 41µs making 1 call to Moose::Meta::Method::Accessor::BEGIN@7 # spent 33µs making 1 call to Exporter::import
8
926µ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
use parent 'Moose::Meta::Method',
10124µs2102µ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
122560µs2401µ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
use Moose::Util 'throw_exception';
# 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
sub new {
16207863µs207222ms 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
sub _new {
20207680µs20743.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
23sub _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
sub _compile_code {
316211.71ms my $self = shift;
32 my @args = @_;
33 try {
342071.17ms20782.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 );
41414580µ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
sub _eval_environment {
45414872µs my $self = shift;
4641417.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
sub _instance_is_inlinable {
504122.23ms my $self = shift;
51824795µ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
sub _generate_reader_method {
55280684µs my $self = shift;
56280110ms $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
60sub _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
sub _generate_accessor_method {
67100321µs my $self = shift;
6810051.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
sub _generate_predicate_method {
731653µs my $self = shift;
74162.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
sub _generate_clearer_method {
791648µs my $self = shift;
80163.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
84sub _writer_value_needs_copy {
85 shift->associated_attribute->_writer_value_needs_copy(@_);
86}
87
88sub _inline_tc_code {
89 shift->associated_attribute->_inline_tc_code(@_);
90}
91
92sub _inline_check_coercion {
93 shift->associated_attribute->_inline_check_coercion(@_);
94}
95
96sub _inline_check_constraint {
97 shift->associated_attribute->_inline_check_constraint(@_);
98}
99
100sub _inline_check_lazy {
101 shift->associated_attribute->_inline_check_lazy(@_);
102}
103
104sub _inline_store_value {
105 shift->associated_attribute->_inline_instance_set(@_) . ';';
106}
107
108sub _inline_get_old_value_for_trigger {
109 shift->associated_attribute->_inline_get_old_value_for_trigger(@_);
110}
111
112sub _inline_trigger {
113 shift->associated_attribute->_inline_trigger(@_);
114}
115
116sub _get_value {
117 shift->associated_attribute->_inline_instance_get(@_);
118}
119
120sub _has_value {
121 shift->associated_attribute->_inline_instance_has(@_);
122}
123
12413µs1;
125
126# ABSTRACT: A Moose Method metaclass for accessors
127
128__END__