← Index
NYTProf Performance Profile   « block view • line view • sub view »
For xt/tapper-mcp-scheduler-with-db-longrun.t
  Run on Tue May 22 17:18:39 2012
Reported on Tue May 22 17:22:35 2012

Filename/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/Role/Application.pm
StatementsExecuted 158 statements in 1.05ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
411200µs14.9msMoose::Meta::Role::Application::::applyMoose::Meta::Role::Application::apply
1511104µs140µsMoose::Meta::Role::Application::::is_method_excludedMoose::Meta::Role::Application::is_method_excluded
151191µs125µsMoose::Meta::Role::Application::::is_method_aliasedMoose::Meta::Role::Application::is_method_aliased
41145µs256µsMoose::Meta::Role::Application::::newMoose::Meta::Role::Application::new
41126µs134µsMoose::Meta::Role::Application::::apply_before_method_modifiersMoose::Meta::Role::Application::apply_before_method_modifiers
41120µs91µsMoose::Meta::Role::Application::::apply_after_method_modifiersMoose::Meta::Role::Application::apply_after_method_modifiers
41120µs91µsMoose::Meta::Role::Application::::apply_around_method_modifiersMoose::Meta::Role::Application::apply_around_method_modifiers
41116µs16µsMoose::Meta::Role::Application::::__ANON__[:23]Moose::Meta::Role::Application::__ANON__[:23]
41115µs15µsMoose::Meta::Role::Application::::__ANON__[:16]Moose::Meta::Role::Application::__ANON__[:16]
11113µs631µsMoose::Meta::Role::Application::::BEGIN@11Moose::Meta::Role::Application::BEGIN@11
11110µs10µsMoose::Meta::Role::Application::::BEGIN@2Moose::Meta::Role::Application::BEGIN@2
1119µs14µsMoose::Meta::Role::Application::::BEGIN@9Moose::Meta::Role::Application::BEGIN@9
1118µs25µsMoose::Meta::Role::Application::::BEGIN@10Moose::Meta::Role::Application::BEGIN@10
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
0000s0sMoose::Meta::Role::Application::::is_aliased_methodMoose::Meta::Role::Application::is_aliased_method
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
# spent 10µs within Moose::Meta::Role::Application::BEGIN@2 which was called: # once (10µs+0s) by Moose::BEGIN@38 at line 4
BEGIN {
315µs $Moose::Meta::Role::Application::AUTHORITY = 'cpan:STEVAN';
4129µs110µs}
# spent 10µs making 1 call to Moose::Meta::Role::Application::BEGIN@2
5{
621µs $Moose::Meta::Role::Application::VERSION = '2.0602';
7}
8
9319µs218µs
# spent 14µs (9+5) within Moose::Meta::Role::Application::BEGIN@9 which was called: # once (9µs+5µs) by Moose::BEGIN@38 at line 9
use strict;
# spent 14µs making 1 call to Moose::Meta::Role::Application::BEGIN@9 # spent 5µs making 1 call to strict::import
10320µs242µs
# spent 25µs (8+17) within Moose::Meta::Role::Application::BEGIN@10 which was called: # once (8µs+17µs) by Moose::BEGIN@38 at line 10
use warnings;
# spent 25µs making 1 call to Moose::Meta::Role::Application::BEGIN@10 # spent 17µs making 1 call to warnings::import
113461µs21.25ms
# spent 631µs (13+618) within Moose::Meta::Role::Application::BEGIN@11 which was called: # once (13µs+618µs) by Moose::BEGIN@38 at line 11
use metaclass;
# spent 631µs making 1 call to Moose::Meta::Role::Application::BEGIN@11 # spent 618µs making 1 call to metaclass::import
12
13__PACKAGE__->meta->add_attribute('method_exclusions' => (
14 init_arg => '-excludes',
15 reader => 'get_method_exclusions',
16424µs
# spent 15µs within Moose::Meta::Role::Application::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/Role/Application.pm:16] which was called 4 times, avg 4µs/call: # 4 times (15µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 24 of (eval 212)[Eval/Closure.pm:125], avg 4µs/call
default => sub { [] },
17111µs3470µs Class::MOP::_definition_context(),
# spent 438µs making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 23µs making 1 call to Moose::Meta::Role::Application::meta # spent 9µs making 1 call to Class::MOP::_definition_context
18));
19
20__PACKAGE__->meta->add_attribute('method_aliases' => (
21 init_arg => '-alias',
22 reader => 'get_method_aliases',
23425µs
# spent 16µs within Moose::Meta::Role::Application::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/Role/Application.pm:23] which was called 4 times, avg 4µs/call: # 4 times (16µs+0s) by Moose::Meta::Role::Application::ToClass::_new at line 18 of (eval 212)[Eval/Closure.pm:125], avg 4µs/call
default => sub { {} },
2415µs3299µs Class::MOP::_definition_context(),
# spent 283µs making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 11µs making 1 call to Moose::Meta::Role::Application::meta # spent 5µs making 1 call to Class::MOP::_definition_context
25));
26
27
# spent 256µs (45+211) within Moose::Meta::Role::Application::new which was called 4 times, avg 64µs/call: # 4 times (45µs+211µs) by Moose::Meta::Role::apply at line 470 of Moose/Meta/Role.pm, avg 64µs/call
sub new {
28844µs my ($class, %params) = @_;
294211µs $class->_new(\%params);
# spent 211µs making 4 calls to Moose::Meta::Role::Application::ToClass::_new, avg 53µs/call
30}
31
32
# spent 140µs (104+36) within Moose::Meta::Role::Application::is_method_excluded which was called 15 times, avg 9µs/call: # 15 times (104µs+36µs) by Moose::Meta::Role::Application::ToClass::apply_methods at line 167 of Moose/Meta/Role/Application/ToClass.pm, avg 9µs/call
sub is_method_excluded {
3345101µs my ($self, $method_name) = @_;
341536µs foreach (@{$self->get_method_exclusions}) {
# spent 36µs making 15 calls to Moose::Meta::Role::Application::get_method_exclusions, avg 2µs/call
35 return 1 if $_ eq $method_name;
36 }
37 return 0;
38}
39
40
# spent 125µs (91+34) within Moose::Meta::Role::Application::is_method_aliased which was called 15 times, avg 8µs/call: # 15 times (91µs+34µs) by Moose::Meta::Role::Application::ToClass::apply_methods at line 179 of Moose/Meta/Role/Application/ToClass.pm, avg 8µs/call
sub is_method_aliased {
413088µs my ($self, $method_name) = @_;
421534µs exists $self->get_method_aliases->{$method_name} ? 1 : 0
# spent 34µs making 15 calls to Moose::Meta::Role::Application::get_method_aliases, avg 2µs/call
43}
44
45sub is_aliased_method {
46 my ($self, $method_name) = @_;
47 my %aliased_names = reverse %{$self->get_method_aliases};
48 exists $aliased_names{$method_name} ? 1 : 0;
49}
50
51
# spent 14.9ms (200µs+14.7) within Moose::Meta::Role::Application::apply which was called 4 times, avg 3.73ms/call: # 4 times (200µs+14.7ms) by Moose::Meta::Role::Application::ToClass::apply at line 36 of Moose/Meta/Role/Application/ToClass.pm, avg 3.73ms/call
sub apply {
5240147µs my $self = shift;
53
5441.42ms $self->check_role_exclusions(@_);
# spent 1.42ms making 4 calls to Moose::Meta::Role::Application::ToClass::check_role_exclusions, avg 355µs/call
554530µs $self->check_required_methods(@_);
# spent 530µs making 4 calls to Moose::Meta::Role::Application::ToClass::check_required_methods, avg 132µs/call
5647µs $self->check_required_attributes(@_);
# spent 7µs making 4 calls to Moose::Meta::Role::Application::ToClass::check_required_attributes, avg 2µs/call
57
5846.56ms $self->apply_attributes(@_);
# spent 6.56ms making 4 calls to Moose::Meta::Role::Application::ToClass::apply_attributes, avg 1.64ms/call
5945.80ms $self->apply_methods(@_);
# spent 5.80ms making 4 calls to Moose::Meta::Role::Application::ToClass::apply_methods, avg 1.45ms/call
60
614102µs $self->apply_override_method_modifiers(@_);
# spent 102µs making 4 calls to Moose::Meta::Role::Application::ToClass::apply_override_method_modifiers, avg 26µs/call
62
634134µs $self->apply_before_method_modifiers(@_);
# spent 134µs making 4 calls to Moose::Meta::Role::Application::apply_before_method_modifiers, avg 34µs/call
64491µs $self->apply_around_method_modifiers(@_);
# spent 91µs making 4 calls to Moose::Meta::Role::Application::apply_around_method_modifiers, avg 23µs/call
65491µs $self->apply_after_method_modifiers(@_);
# spent 91µs making 4 calls to Moose::Meta::Role::Application::apply_after_method_modifiers, avg 23µs/call
66}
67
68sub check_role_exclusions { Carp::croak "Abstract Method" }
69sub check_required_methods { Carp::croak "Abstract Method" }
70sub check_required_attributes { Carp::croak "Abstract Method" }
71
72sub apply_attributes { Carp::croak "Abstract Method" }
73sub apply_methods { Carp::croak "Abstract Method" }
74sub apply_override_method_modifiers { Carp::croak "Abstract Method" }
75sub apply_method_modifiers { Carp::croak "Abstract Method" }
76
77423µs4109µs
# spent 134µs (26+109) within Moose::Meta::Role::Application::apply_before_method_modifiers which was called 4 times, avg 34µs/call: # 4 times (26µs+109µs) by Moose::Meta::Role::Application::apply at line 63, avg 34µs/call
sub apply_before_method_modifiers { (shift)->apply_method_modifiers('before' => @_) }
# spent 109µs making 4 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 27µs/call
78418µs471µs
# spent 91µs (20+71) within Moose::Meta::Role::Application::apply_around_method_modifiers which was called 4 times, avg 23µs/call: # 4 times (20µs+71µs) by Moose::Meta::Role::Application::apply at line 64, avg 23µs/call
sub apply_around_method_modifiers { (shift)->apply_method_modifiers('around' => @_) }
# spent 71µs making 4 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 18µs/call
79422µs471µs
# spent 91µs (20+71) within Moose::Meta::Role::Application::apply_after_method_modifiers which was called 4 times, avg 23µs/call: # 4 times (20µs+71µs) by Moose::Meta::Role::Application::apply at line 65, avg 23µs/call
sub apply_after_method_modifiers { (shift)->apply_method_modifiers('after' => @_) }
# spent 71µs making 4 calls to Moose::Meta::Role::Application::ToClass::apply_method_modifiers, avg 18µs/call
80
81110µs1;
82
83# ABSTRACT: A base class for role application
84
- -
87=pod
88
89=head1 NAME
90
91Moose::Meta::Role::Application - A base class for role application
92
93=head1 VERSION
94
95version 2.0602
96
97=head1 DESCRIPTION
98
99This is the abstract base class for role applications.
100
101The API for this class and its subclasses still needs some
102consideration, and is intentionally not yet documented.
103
104=head2 METHODS
105
106=over 4
107
108=item B<new>
109
110=item B<meta>
111
112=item B<get_method_exclusions>
113
114=item B<is_method_excluded>
115
116=item B<get_method_aliases>
117
118=item B<is_aliased_method>
119
120=item B<is_method_aliased>
121
122=item B<apply>
123
124=item B<check_role_exclusions>
125
126=item B<check_required_methods>
127
128=item B<check_required_attributes>
129
130=item B<apply_attributes>
131
132=item B<apply_methods>
133
134=item B<apply_method_modifiers>
135
136=item B<apply_before_method_modifiers>
137
138=item B<apply_after_method_modifiers>
139
140=item B<apply_around_method_modifiers>
141
142=item B<apply_override_method_modifiers>
143
144=back
145
146=head1 BUGS
147
148See L<Moose/BUGS> for details on reporting bugs.
149
150=head1 AUTHOR
151
152Moose is maintained by the Moose Cabal, along with the help of many contributors. See L<Moose/CABAL> and L<Moose/CONTRIBUTORS> for details.
153
154=head1 COPYRIGHT AND LICENSE
155
156This software is copyright (c) 2012 by Infinity Interactive, Inc..
157
158This is free software; you can redistribute it and/or modify it under
159the same terms as the Perl 5 programming language system itself.
160
161=cut
162
163
164__END__