← 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:41 2010

Filename/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm
StatementsExecuted 2682 statements in 32.9ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
3372212.0ms16.0msMoose::Meta::Role::Application::::is_method_excludedMoose::Meta::Role::Application::is_method_excluded
334229.01ms13.2msMoose::Meta::Role::Application::::is_method_aliasedMoose::Meta::Role::Application::is_method_aliased
42336.44ms650msMoose::Meta::Role::Application::::applyMoose::Meta::Role::Application::apply
42221.31ms6.47msMoose::Meta::Role::Application::::newMoose::Meta::Role::Application::new
4211904µs39.1msMoose::Meta::Role::Application::::apply_around_method_modifiersMoose::Meta::Role::Application::apply_around_method_modifiers
4211881µs15.1msMoose::Meta::Role::Application::::apply_before_method_modifiersMoose::Meta::Role::Application::apply_before_method_modifiers
4211832µs6.68msMoose::Meta::Role::Application::::apply_after_method_modifiersMoose::Meta::Role::Application::apply_after_method_modifiers
2211697µs968µsMoose::Meta::Role::Application::::is_aliased_methodMoose::Meta::Role::Application::is_aliased_method
4221473µs473µsMoose::Meta::Role::Application::::__ANON__[:20]Moose::Meta::Role::Application::__ANON__[:20]
3321326µs326µsMoose::Meta::Role::Application::::__ANON__[:14]Moose::Meta::Role::Application::__ANON__[:14]
11172µs90µsMoose::Meta::Role::Application::::BEGIN@3Moose::Meta::Role::Application::BEGIN@3
11140µs109µsMoose::Meta::Role::Application::::BEGIN@4Moose::Meta::Role::Application::BEGIN@4
11139µs2.75msMoose::Meta::Role::Application::::BEGIN@5Moose::Meta::Role::Application::BEGIN@5
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
3399µs2108µs
# spent 90µ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 90µs making 1 call to Moose::Meta::Role::Application::BEGIN@3 # spent 18µs making 1 call to strict::import
4394µs2177µs
# spent 109µs (40+69) within Moose::Meta::Role::Application::BEGIN@4 which was called: # once (40µs+69µs) by Moose::BEGIN@29 at line 4
use warnings;
# spent 109µs making 1 call to Moose::Meta::Role::Application::BEGIN@4 # spent 69µs making 1 call to warnings::import
531.88ms25.47ms
# spent 2.75ms (39µs+2.71) within Moose::Meta::Role::Application::BEGIN@5 which was called: # once (39µs+2.71ms) by Moose::BEGIN@29 at line 5
use metaclass;
# spent 2.75ms making 1 call to Moose::Meta::Role::Application::BEGIN@5 # spent 2.71ms making 1 call to metaclass::import
6
715µsour $VERSION = '1.19';
8162µs$VERSION = eval $VERSION;
# spent 11µ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',
1433494µs
# spent 326µs within Moose::Meta::Role::Application::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm:14] which was called 33 times, avg 10µs/call: # 17 times (159µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 21 of generated method (unknown origin), avg 9µs/call # 16 times (166µ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 { [] }
15144µs22.21ms));
# spent 2.07ms making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 136µ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',
2042660µs
# spent 473µs within Moose::Meta::Role::Application::__ANON__[/home/doy/coding/src/Moose/blib/lib//Moose/Meta/Role/Application.pm:20] which was called 42 times, avg 11µs/call: # 21 times (261µ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 12µs/call # 21 times (213µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 15 of generated method (unknown origin), avg 10µs/call
default => sub { {} }
21133µs22.03ms));
# spent 1.94ms making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 98µs making 1 call to Moose::Meta::Role::Application::meta
22
23
# spent 6.47ms (1.31+5.16) within Moose::Meta::Role::Application::new which was called 42 times, avg 154µs/call: # 39 times (1.20ms+4.72ms) by Moose::Meta::Role::apply at line 483 of Moose/Meta/Role.pm, avg 152µs/call # 3 times (111µs+434µs) by Moose::Meta::Role::Composite::apply_params at line 124 of Moose/Meta/Role/Composite.pm, avg 182µs/call
sub new {
24841.20ms my ($class, %params) = @_;
25425.16ms $class->_new(\%params);
# spent 2.49ms making 21 calls to Moose::Meta::Role::Application::ToClass::_new, avg 119µs/call # spent 2.23ms making 18 calls to Moose::Meta::Role::Application::ToRole::_new, avg 124µs/call # spent 434µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::_new, avg 145µs/call
26}
27
28
# spent 16.0ms (12.0+3.99) within Moose::Meta::Role::Application::is_method_excluded which was called 337 times, avg 47µs/call: # 172 times (6.38ms+1.94ms) by Moose::Meta::Role::Application::ToRole::apply_methods at line 86 of Moose/Meta/Role/Application/ToRole.pm, avg 48µs/call # 165 times (5.60ms+2.05ms) by Moose::Meta::Role::Application::ToClass::apply_methods at line 157 of Moose/Meta/Role/Application/ToClass.pm, avg 46µs/call
sub is_method_excluded {
2999510.1ms my ($self, $method_name) = @_;
303373.99ms foreach (@{$self->get_method_exclusions}) {
# spent 3.99ms making 337 calls to Moose::Meta::Role::Application::get_method_exclusions, avg 12µs/call
312331.33ms return 1 if $_ eq $method_name;
32 }
33 return 0;
34}
35
36
# spent 13.2ms (9.01+4.24) within Moose::Meta::Role::Application::is_method_aliased which was called 334 times, avg 40µs/call: # 172 times (4.54ms+2.11ms) by Moose::Meta::Role::Application::ToRole::apply_methods at line 107 of Moose/Meta/Role/Application/ToRole.pm, avg 39µs/call # 162 times (4.47ms+2.13ms) by Moose::Meta::Role::Application::ToClass::apply_methods at line 169 of Moose/Meta/Role/Application/ToClass.pm, avg 41µs/call
sub is_method_aliased {
376688.29ms my ($self, $method_name) = @_;
383344.24ms exists $self->get_method_aliases->{$method_name} ? 1 : 0
# spent 4.24ms making 334 calls to Moose::Meta::Role::Application::get_method_aliases, avg 13µs/call
39}
40
41
# spent 968µs (697+271) within Moose::Meta::Role::Application::is_aliased_method which was called 22 times, avg 44µs/call: # 22 times (697µs+271µs) by Moose::Meta::Role::Application::ToRole::check_required_methods at line 41 of Moose/Meta/Role/Application/ToRole.pm, avg 44µs/call
sub is_aliased_method {
4266679µs my ($self, $method_name) = @_;
4322271µs my %aliased_names = reverse %{$self->get_method_aliases};
# spent 271µs making 22 calls to Moose::Meta::Role::Application::get_method_aliases, avg 12µs/call
44 exists $aliased_names{$method_name} ? 1 : 0;
45}
46
47
# spent 650ms (6.44+644) within Moose::Meta::Role::Application::apply which was called 42 times, avg 15.5ms/call: # 21 times (3.20ms+370ms) by Moose::Meta::Role::Application::ToClass::apply at line 31 of Moose/Meta/Role/Application/ToClass.pm, avg 17.8ms/call # 18 times (2.73ms+203ms) by Moose::Meta::Role::Application::ToRole::apply at line 17 of Moose/Meta/Role/Application/ToRole.pm, avg 11.5ms/call # 3 times (514µs+69.9ms) by Moose::Meta::Role::Composite::apply_params at line 124 of Moose/Meta/Role/Composite.pm, avg 23.5ms/call
sub apply {
484205.61ms my $self = shift;
49
504235.0ms $self->check_role_exclusions(@_);
# spent 30.9ms making 21 calls to Moose::Meta::Role::Application::ToClass::check_role_exclusions, avg 1.47ms/call # spent 2.90ms making 18 calls to Moose::Meta::Role::Application::ToRole::check_role_exclusions, avg 161µs/call # spent 1.17ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_role_exclusions, avg 389µs/call
514261.4ms $self->check_required_methods(@_);
# spent 30.3ms making 21 calls to Moose::Meta::Role::Application::ToClass::check_required_methods, avg 1.44ms/call # spent 15.7ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_required_methods, avg 5.25ms/call # spent 15.3ms making 18 calls to Moose::Meta::Role::Application::ToRole::check_required_methods, avg 853µs/call
5242328µs $self->check_required_attributes(@_);
# spent 164µs making 21 calls to Moose::Meta::Role::Application::ToClass::check_required_attributes, avg 8µs/call # spent 141µs making 18 calls to Moose::Meta::Role::Application::ToRole::check_required_attributes, avg 8µs/call # spent 23µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::check_required_attributes, avg 8µs/call
53
544279.3ms $self->apply_attributes(@_);
# spent 72.0ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_attributes, avg 3.43ms/call # spent 5.28ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_attributes, avg 293µs/call # spent 2.00ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_attributes, avg 666µs/call
5542365ms $self->apply_methods(@_);
# spent 161ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_methods, avg 7.66ms/call # spent 157ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_methods, avg 8.74ms/call # spent 46.5ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_methods, avg 15.5ms/call
56
574242.2ms $self->apply_override_method_modifiers(@_);
# spent 28.1ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_override_method_modifiers, avg 1.34ms/call # spent 12.6ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_override_method_modifiers, avg 698µs/call # spent 1.45ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_override_method_modifiers, avg 485µs/call
58
594215.1ms $self->apply_before_method_modifiers(@_);
# spent 15.1ms making 42 calls to Moose::Meta::Role::Application::apply_before_method_modifiers, avg 360µs/call
604239.1ms $self->apply_around_method_modifiers(@_);
# spent 39.1ms making 42 calls to Moose::Meta::Role::Application::apply_around_method_modifiers, avg 931µs/call
61426.68ms $self->apply_after_method_modifiers(@_);
# spent 6.68ms making 42 calls to Moose::Meta::Role::Application::apply_after_method_modifiers, avg 159µ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
7342790µs4214.3ms
# spent 15.1ms (881µs+14.3) within Moose::Meta::Role::Application::apply_before_method_modifiers which was called 42 times, avg 360µs/call: # 42 times (881µs+14.3ms) by Moose::Meta::Role::Application::apply at line 59, avg 360µs/call
sub apply_before_method_modifiers { (shift)->apply_method_modifiers('before' => @_) }
# spent 11.4ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 542µs/call # spent 2.11ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 117µs/call # spent 752µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 251µs/call
7442767µs4238.2ms
# spent 39.1ms (904µs+38.2) within Moose::Meta::Role::Application::apply_around_method_modifiers which was called 42 times, avg 931µs/call: # 42 times (904µs+38.2ms) by Moose::Meta::Role::Application::apply at line 60, avg 931µs/call
sub apply_around_method_modifiers { (shift)->apply_method_modifiers('around' => @_) }
# spent 31.7ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 1.51ms/call # spent 5.09ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 283µs/call # spent 1.42ms making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 474µs/call
7542712µs425.85ms
# spent 6.68ms (832µs+5.85) within Moose::Meta::Role::Application::apply_after_method_modifiers which was called 42 times, avg 159µs/call: # 42 times (832µs+5.85ms) by Moose::Meta::Role::Application::apply at line 61, avg 159µs/call
sub apply_after_method_modifiers { (shift)->apply_method_modifiers('after' => @_) }
# spent 3.50ms making 21 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 167µs/call # spent 1.70ms making 18 calls to Moose::Meta::Role::Application::ToRole::apply_method_modifiers, avg 94µs/call # spent 646µs making 3 calls to Moose::Meta::Role::Application::RoleSummation::apply_method_modifiers, avg 215µs/call
76
77137µs1;
78
79__END__