← Index
NYTProf Performance Profile   « block view • line view • sub view »
For -e
  Run on Wed Nov 17 22:00:36 2010
Reported on Wed Nov 17 22:13:37 2010

Filename/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm
StatementsExecuted 8929 statements in 105ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11362241.1ms55.0msMoose::Meta::Role::Application::::is_method_excludedMoose::Meta::Role::Application::is_method_excluded
11362231.4ms46.8msMoose::Meta::Role::Application::::is_method_aliasedMoose::Meta::Role::Application::is_method_aliased
1443320.9ms1.78sMoose::Meta::Role::Application::::applyMoose::Meta::Role::Application::apply
144224.12ms21.5msMoose::Meta::Role::Application::::newMoose::Meta::Role::Application::new
144113.16ms37.2msMoose::Meta::Role::Application::::apply_before_method_modifiersMoose::Meta::Role::Application::apply_before_method_modifiers
144112.80ms117msMoose::Meta::Role::Application::::apply_around_method_modifiersMoose::Meta::Role::Application::apply_around_method_modifiers
144112.74ms20.8msMoose::Meta::Role::Application::::apply_after_method_modifiersMoose::Meta::Role::Application::apply_after_method_modifiers
144211.58ms1.58msMoose::Meta::Role::Application::::__ANON__[:20]Moose::Meta::Role::Application::__ANON__[:20]
132211.28ms1.28msMoose::Meta::Role::Application::::__ANON__[:14]Moose::Meta::Role::Application::__ANON__[:14]
3011961µs1.34msMoose::Meta::Role::Application::::is_aliased_methodMoose::Meta::Role::Application::is_aliased_method
11172µs91µsMoose::Meta::Role::Application::::BEGIN@3Moose::Meta::Role::Application::BEGIN@3
11146µs2.72msMoose::Meta::Role::Application::::BEGIN@5Moose::Meta::Role::Application::BEGIN@5
11140µs107µsMoose::Meta::Role::Application::::BEGIN@4Moose::Meta::Role::Application::BEGIN@4
0000s0sMoose::Meta::Role::Application::::apply_attributesMoose::Meta::Role::Application::apply_attributes
0000s0sMoose::Meta::Role::Application::::apply_method_modifiersMoose::Meta::Role::Application::apply_method_modifiers
0000s0sMoose::Meta::Role::Application::::apply_methodsMoose::Meta::Role::Application::apply_methods
0000s0sMoose::Meta::Role::Application::::apply_override_method_modifiersMoose::Meta::Role::Application::apply_override_method_modifiers
0000s0sMoose::Meta::Role::Application::::check_required_attributesMoose::Meta::Role::Application::check_required_attributes
0000s0sMoose::Meta::Role::Application::::check_required_methodsMoose::Meta::Role::Application::check_required_methods
0000s0sMoose::Meta::Role::Application::::check_role_exclusionsMoose::Meta::Role::Application::check_role_exclusions
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::Role::Application;
2
33103µs2109µs
# spent 91µs (72+18) within Moose::Meta::Role::Application::BEGIN@3 which was called: # once (72µs+18µs) by Moose::BEGIN@29 at line 3
use strict;
# spent 91µs making 1 call to Moose::Meta::Role::Application::BEGIN@3 # spent 18µs making 1 call to strict::import
4398µs2174µs
# spent 107µs (40+67) within Moose::Meta::Role::Application::BEGIN@4 which was called: # once (40µs+67µs) by Moose::BEGIN@29 at line 4
use warnings;
# spent 107µs making 1 call to Moose::Meta::Role::Application::BEGIN@4 # spent 67µs making 1 call to warnings::import
532.66ms25.40ms
# spent 2.72ms (46µs+2.68) within Moose::Meta::Role::Application::BEGIN@5 which was called: # once (46µs+2.68ms) by Moose::BEGIN@29 at line 5
use metaclass;
# spent 2.72ms making 1 call to Moose::Meta::Role::Application::BEGIN@5 # spent 2.68ms making 1 call to metaclass::import
6
716µsour $VERSION = '1.19';
8164µs$VERSION = eval $VERSION;
# spent 12µs executing statements in string eval
914µsour $AUTHORITY = 'cpan:STEVAN';
10
11__PACKAGE__->meta->add_attribute('method_exclusions' => (
12 init_arg => '-excludes',
13 reader => 'get_method_exclusions',
141321.84ms
# spent 1.28ms within Moose::Meta::Role::Application::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm:14] which was called 132 times, avg 10µs/call: # 73 times (697µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 21 of generated method (unknown origin), avg 10µs/call # 59 times (583µs+0s) by Moose::Meta::Role::Application::RoleSummation::_new or Moose::Meta::Role::Application::ToRole::_new at line 18 of generated method (unknown origin), avg 10µs/call
default => sub { [] }
15145µs22.22ms));
# spent 2.08ms making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 137µs making 1 call to Moose::Meta::Role::Application::meta
16
17__PACKAGE__->meta->add_attribute('method_aliases' => (
18 init_arg => '-alias',
19 reader => 'get_method_aliases',
201442.05ms
# spent 1.58ms within Moose::Meta::Role::Application::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm:20] which was called 144 times, avg 11µs/call: # 73 times (813µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 15 of generated method (unknown origin), avg 11µs/call # 71 times (768µs+0s) by Moose::Meta::Role::Application::RoleSummation::_new or Moose::Meta::Role::Application::ToRole::_new at line 12 of generated method (unknown origin), avg 11µs/call
default => sub { {} }
21129µs22.05ms));
# spent 1.96ms making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 87µs making 1 call to Moose::Meta::Role::Application::meta
22
23
# spent 21.5ms (4.12+17.3) within Moose::Meta::Role::Application::new which was called 144 times, avg 149µs/call: # 141 times (4.03ms+16.9ms) by Moose::Meta::Role::apply at line 483 of Moose/Meta/Role.pm, avg 149µs/call # 3 times (99µs+390µs) by Moose::Meta::Role::Composite::apply_params at line 124 of Moose/Meta/Role/Composite.pm, avg 163µs/call
sub new {
24144777µs my ($class, %params) = @_;
251443.20ms14417.3ms $class->_new(\%params);
# spent 9.09ms making 73 calls to Moose::Meta::Role::Application::ToClass::_new, avg 124µs/call # spent 7.86ms making 68 calls to Moose::Meta::Role::Application::ToRole::_new, avg 116µs/call # spent 390µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::_new, avg 130µs/call
26}
27
28
# spent 55.0ms (41.1+14.0) within Moose::Meta::Role::Application::is_method_excluded which was called 1136 times, avg 48µs/call: # 672 times (21.8ms+8.15ms) by Moose::Meta::Role::Application::ToClass::apply_methods at line 157 of Moose/Meta/Role/Application/ToClass.pm, avg 45µs/call # 464 times (19.3ms+5.81ms) by Moose::Meta::Role::Application::ToRole::apply_methods at line 86 of Moose/Meta/Role/Application/ToRole.pm, avg 54µs/call
sub is_method_excluded {
2911364.43ms my ($self, $method_name) = @_;
30113617.2ms113614.0ms foreach (@{$self->get_method_exclusions}) {
# spent 14.0ms making 1136 calls to Moose::Meta::Role::Application::get_method_exclusions, avg 12µs/call
317383.89ms return 1 if $_ eq $method_name;
32 }
33110613.6ms return 0;
34}
35
36
# spent 46.8ms (31.4+15.4) within Moose::Meta::Role::Application::is_method_aliased which was called 1136 times, avg 41µs/call: # 672 times (18.2ms+9.13ms) by Moose::Meta::Role::Application::ToClass::apply_methods at line 169 of Moose/Meta/Role/Application/ToClass.pm, avg 41µs/call # 464 times (13.2ms+6.22ms) by Moose::Meta::Role::Application::ToRole::apply_methods at line 107 of Moose/Meta/Role/Application/ToRole.pm, avg 42µs/call
sub is_method_aliased {
3711364.51ms my ($self, $method_name) = @_;
38113624.0ms113615.4ms exists $self->get_method_aliases->{$method_name} ? 1 : 0
# spent 15.4ms making 1136 calls to Moose::Meta::Role::Application::get_method_aliases, avg 14µs/call
39}
40
41
# spent 1.34ms (961µs+382µs) within Moose::Meta::Role::Application::is_aliased_method which was called 30 times, avg 45µs/call: # 30 times (961µs+382µs) by Moose::Meta::Role::Application::ToRole::check_required_methods at line 41 of Moose/Meta/Role/Application/ToRole.pm, avg 45µs/call
sub is_aliased_method {
4230119µs my ($self, $method_name) = @_;
4330439µs30382µs my %aliased_names = reverse %{$self->get_method_aliases};
# spent 382µs making 30 calls to Moose::Meta::Role::Application::get_method_aliases, avg 13µs/call
4430373µs exists $aliased_names{$method_name} ? 1 : 0;
45}
46
47
# spent 1.78s (20.9ms+1.76) within Moose::Meta::Role::Application::apply which was called 144 times, avg 12.3ms/call: # 73 times (10.3ms+1.18s) by Moose::Meta::Role::Application::ToClass::apply at line 31 of Moose/Meta/Role/Application/ToClass.pm, avg 16.3ms/call # 68 times (10.1ms+509ms) by Moose::Meta::Role::Application::ToRole::apply at line 17 of Moose/Meta/Role/Application/ToRole.pm, avg 7.64ms/call # 3 times (502µs+68.2ms) by Moose::Meta::Role::Composite::apply_params at line 124 of Moose/Meta/Role/Composite.pm, avg 22.9ms/call
sub apply {
48144491µs my $self = shift;
49
501441.83ms144132ms $self->check_role_exclusions(@_);
# spent 121ms making 73 calls to Moose::Meta::Role::Application::ToClass::check_role_exclusions, avg 1.65ms/call # spent 10.3ms making 68 calls to Moose::Meta::Role::Application::ToRole::check_role_exclusions, avg 151µs/call # spent 1.18ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_role_exclusions, avg 392µs/call
511441.80ms14442.7ms $self->check_required_methods(@_);
# spent 23.1ms making 68 calls to Moose::Meta::Role::Application::ToRole::check_required_methods, avg 340µs/call # spent 13.1ms making 73 calls to Moose::Meta::Role::Application::ToClass::check_required_methods, avg 180µs/call # spent 6.43ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_required_methods, avg 2.14ms/call
521441.64ms1441.05ms $self->check_required_attributes(@_);
# spent 535µs making 73 calls to Moose::Meta::Role::Application::ToClass::check_required_attributes, avg 7µs/call # spent 496µs making 68 calls to Moose::Meta::Role::Application::ToRole::check_required_attributes, avg 7µs/call # spent 22µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_required_attributes, avg 7µs/call
53
541441.58ms144211ms $self->apply_attributes(@_);
# spent 198ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_attributes, avg 2.71ms/call # spent 13.3ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_attributes, avg 195µs/call # spent 525µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_attributes, avg 175µs/call
551441.83ms1441.10s $self->apply_methods(@_);
# spent 642ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_methods, avg 8.79ms/call # spent 402ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_methods, avg 5.91ms/call # spent 53.7ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_methods, avg 17.9ms/call
56
571441.97ms14497.3ms $self->apply_override_method_modifiers(@_);
# spent 66.3ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_override_method_modifiers, avg 908µs/call # spent 28.4ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_override_method_modifiers, avg 418µs/call # spent 2.64ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_override_method_modifiers, avg 880µs/call
58
591441.93ms14437.2ms $self->apply_before_method_modifiers(@_);
# spent 37.2ms making 144 calls to Moose::Meta::Role::Application::apply_before_method_modifiers, avg 258µs/call
601441.78ms144117ms $self->apply_around_method_modifiers(@_);
# spent 117ms making 144 calls to Moose::Meta::Role::Application::apply_around_method_modifiers, avg 813µs/call
611443.06ms14420.8ms $self->apply_after_method_modifiers(@_);
# spent 20.8ms making 144 calls to Moose::Meta::Role::Application::apply_after_method_modifiers, avg 144µs/call
62}
63
64sub check_role_exclusions { Carp::croak "Abstract Method" }
65sub check_required_methods { Carp::croak "Abstract Method" }
66sub check_required_attributes { Carp::croak "Abstract Method" }
67
68sub apply_attributes { Carp::croak "Abstract Method" }
69sub apply_methods { Carp::croak "Abstract Method" }
70sub apply_override_method_modifiers { Carp::croak "Abstract Method" }
71sub apply_method_modifiers { Carp::croak "Abstract Method" }
72
731442.70ms14434.0ms
# spent 37.2ms (3.16+34.0) within Moose::Meta::Role::Application::apply_before_method_modifiers which was called 144 times, avg 258µs/call: # 144 times (3.16ms+34.0ms) by Moose::Meta::Role::Application::apply at line 59, avg 258µs/call
sub apply_before_method_modifiers { (shift)->apply_method_modifiers('before' => @_) }
# spent 26.1ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 358µs/call # spent 7.26ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 107µs/call # spent 662µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 221µs/call
741442.57ms144114ms
# spent 117ms (2.80+114) within Moose::Meta::Role::Application::apply_around_method_modifiers which was called 144 times, avg 813µs/call: # 144 times (2.80ms+114ms) by Moose::Meta::Role::Application::apply at line 60, avg 813µs/call
sub apply_around_method_modifiers { (shift)->apply_method_modifiers('around' => @_) }
# spent 97.6ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 1.34ms/call # spent 14.4ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 212µs/call # spent 2.25ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 750µs/call
751442.42ms14418.0ms
# spent 20.8ms (2.74+18.0) within Moose::Meta::Role::Application::apply_after_method_modifiers which was called 144 times, avg 144µs/call: # 144 times (2.74ms+18.0ms) by Moose::Meta::Role::Application::apply at line 61, avg 144µs/call
sub apply_after_method_modifiers { (shift)->apply_method_modifiers('after' => @_) }
# spent 11.5ms making 73 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 157µs/call # spent 5.98ms making 68 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 88µs/call # spent 596µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 199µs/call
76
77136µs1;
78
79__END__