← 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:46 2012

Filename/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Meta/Method.pm
StatementsExecuted 44 statements in 422µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
311107µs722µsMoose::Meta::Method::::_inline_throw_errorMoose::Meta::Method::_inline_throw_error
1118µs8µsMoose::Meta::Method::::BEGIN@2Moose::Meta::Method::BEGIN@2
1117µs98µsMoose::Meta::Method::::BEGIN@14Moose::Meta::Method::BEGIN@14
1116µs8µsMoose::Meta::Method::::BEGIN@9Moose::Meta::Method::BEGIN@9
1116µs13µsMoose::Meta::Method::::BEGIN@10Moose::Meta::Method::BEGIN@10
1115µs5µsMoose::Meta::Method::::BEGIN@12Moose::Meta::Method::BEGIN@12
0000s0sMoose::Meta::Method::::_error_throwerMoose::Meta::Method::_error_thrower
0000s0sMoose::Meta::Method::::throw_errorMoose::Meta::Method::throw_error
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;
2
# spent 8µs within Moose::Meta::Method::BEGIN@2 which was called: # once (8µs+0s) by base::import at line 4
BEGIN {
314µs $Moose::Meta::Method::AUTHORITY = 'cpan:STEVAN';
4119µs18µs}
# spent 8µs making 1 call to Moose::Meta::Method::BEGIN@2
5{
621µs $Moose::Meta::Method::VERSION = '2.0602';
7}
8
9316µs210µs
# spent 8µs (6+2) within Moose::Meta::Method::BEGIN@9 which was called: # once (6µs+2µs) by base::import at line 9
use strict;
# spent 8µs making 1 call to Moose::Meta::Method::BEGIN@9 # spent 2µs making 1 call to strict::import
10319µs221µs
# spent 13µs (6+7) within Moose::Meta::Method::BEGIN@10 which was called: # once (6µs+7µs) by base::import at line 10
use warnings;
# spent 13µs making 1 call to Moose::Meta::Method::BEGIN@10 # spent 7µs making 1 call to warnings::import
11
12318µs15µs
# spent 5µs within Moose::Meta::Method::BEGIN@12 which was called: # once (5µs+0s) by base::import at line 12
use Class::MOP::MiniTrait;
# spent 5µs making 1 call to Moose::Meta::Method::BEGIN@12
13
143200µs298µs
# spent 98µs (7+91) within Moose::Meta::Method::BEGIN@14 which was called: # once (7µs+91µs) by base::import at line 14
use base 'Class::MOP::Method';
# spent 98µs making 1 call to Moose::Meta::Method::BEGIN@14 # spent 91µs making 1 call to base::import, recursion: max depth 1, sum of overlapping time 91µs
15
1613µs12.05msClass::MOP::MiniTrait::apply(__PACKAGE__, 'Moose::Meta::Object::Trait');
# spent 2.05ms making 1 call to Class::MOP::MiniTrait::apply
17
18sub _error_thrower {
19 my $self = shift;
20 require Moose::Meta::Class;
21 ( ref $self && $self->associated_metaclass ) || "Moose::Meta::Class";
22}
23
24sub throw_error {
25 my $self = shift;
26 my $inv = $self->_error_thrower;
27 unshift @_, "message" if @_ % 2 == 1;
28 unshift @_, method => $self if ref $self;
29 unshift @_, $inv;
30 my $handler = $inv->can("throw_error");
31 goto $handler; # to avoid incrementing depth by 1
32}
33
34
# spent 722µs (107+615) within Moose::Meta::Method::_inline_throw_error which was called 3 times, avg 241µs/call: # 3 times (107µs+615µs) by Class::MOP::Method::Accessor::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Class/MOP/Method/Accessor.pm:154] at line 142 of Class/MOP/Method/Accessor.pm, avg 241µs/call
sub _inline_throw_error {
351859µs my ( $self, $msg, $args ) = @_;
36
37332µs my $inv = $self->_error_thrower;
# spent 32µs making 3 calls to Moose::Meta::Method::Accessor::_error_thrower, avg 11µs/call
38 # XXX ugh
3935µs $inv = 'Moose::Meta::Class' unless $inv->can('_inline_throw_error');
# spent 5µs making 3 calls to UNIVERSAL::can, avg 2µs/call
40
41 # XXX ugh ugh UGH
4236µs my $class = $self->associated_metaclass;
# spent 6µs making 3 calls to Class::MOP::Method::associated_metaclass, avg 2µs/call
43977µs if ($class) {
44624µs my $class_name = B::perlstring($class->name);
# spent 22µs making 3 calls to B::perlstring, avg 7µs/call # spent 2µs making 3 calls to Class::MOP::Package::name, avg 667ns/call
4565µs my $meth_name = B::perlstring($self->name);
# spent 3µs making 3 calls to B::perlstring, avg 1µs/call # spent 2µs making 3 calls to Class::MOP::Method::name, avg 767ns/call
46 $args = 'method => Class::MOP::class_of(' . $class_name . ')'
47 . '->find_method_by_name(' . $meth_name . '), '
48 . (defined $args ? $args : '');
49 }
50
513543µs return $inv->_inline_throw_error($msg, $args)
# spent 543µs making 3 calls to Moose::Meta::Attribute::_inline_throw_error, avg 181µs/call
52}
53
5416µs1;
55
56# ABSTRACT: A Moose Method metaclass
57
- -
60=pod
61
62=head1 NAME
63
64Moose::Meta::Method - A Moose Method metaclass
65
66=head1 VERSION
67
68version 2.0602
69
70=head1 DESCRIPTION
71
72This class is a subclass of L<Class::MOP::Method> that provides
73additional Moose-specific functionality, all of which is private.
74
75To understand this class, you should read the the L<Class::MOP::Method>
76documentation.
77
78=head1 INHERITANCE
79
80C<Moose::Meta::Method> is a subclass of L<Class::MOP::Method>.
81
82=head1 BUGS
83
84See L<Moose/BUGS> for details on reporting bugs.
85
86=head1 AUTHOR
87
88Moose is maintained by the Moose Cabal, along with the help of many contributors. See L<Moose/CABAL> and L<Moose/CONTRIBUTORS> for details.
89
90=head1 COPYRIGHT AND LICENSE
91
92This software is copyright (c) 2012 by Infinity Interactive, Inc..
93
94This is free software; you can redistribute it and/or modify it under
95the same terms as the Perl 5 programming language system itself.
96
97=cut
98
99
100__END__