← Index
NYTProf Performance Profile   « line view »
For examples/Atom-timer.pl
  Run on Mon Aug 12 14:45:28 2013
Reported on Mon Aug 12 14:46:14 2013

Filename/Users/dde/perl5/perlbrew/perls/5.18.0t/lib/site_perl/5.18.0/darwin-thread-multi-2level/Class/MOP/Method/Generated.pm
StatementsExecuted 2632 statements in 3.38ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
187741.92ms57.5msClass::MOP::Method::Generated::::_compile_codeClass::MOP::Method::Generated::_compile_code
1111.12ms1.31msClass::MOP::Method::Generated::::BEGIN@14Class::MOP::Method::Generated::BEGIN@14
187111.11ms1.20msClass::MOP::Method::Generated::::_generate_descriptionClass::MOP::Method::Generated::_generate_description
1118µs8µsClass::MOP::Method::Generated::::BEGIN@3Class::MOP::Method::Generated::BEGIN@3
1117µs60µsClass::MOP::Method::Generated::::BEGIN@16Class::MOP::Method::Generated::BEGIN@16
1116µs28µsClass::MOP::Method::Generated::::BEGIN@13Class::MOP::Method::Generated::BEGIN@13
1116µs9µsClass::MOP::Method::Generated::::BEGIN@11Class::MOP::Method::Generated::BEGIN@11
1115µs16µsClass::MOP::Method::Generated::::BEGIN@10Class::MOP::Method::Generated::BEGIN@10
0000s0sClass::MOP::Method::Generated::::_initialize_bodyClass::MOP::Method::Generated::_initialize_body
0000s0sClass::MOP::Method::Generated::::newClass::MOP::Method::Generated::new
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1
2package Class::MOP::Method::Generated;
3
# spent 8µs within Class::MOP::Method::Generated::BEGIN@3 which was called: # once (8µs+0s) by base::import at line 5
BEGIN {
414µs $Class::MOP::Method::Generated::AUTHORITY = 'cpan:STEVAN';
5126µs18µs}
# spent 8µs making 1 call to Class::MOP::Method::Generated::BEGIN@3
6{
721µs $Class::MOP::Method::Generated::VERSION = '2.1005';
8}
9
10222µs226µs
# spent 16µs (5+10) within Class::MOP::Method::Generated::BEGIN@10 which was called: # once (5µs+10µs) by base::import at line 10
use strict;
# spent 16µs making 1 call to Class::MOP::Method::Generated::BEGIN@10 # spent 10µs making 1 call to strict::import
11224µs212µs
# spent 9µs (6+3) within Class::MOP::Method::Generated::BEGIN@11 which was called: # once (6µs+3µs) by base::import at line 11
use warnings;
# spent 9µs making 1 call to Class::MOP::Method::Generated::BEGIN@11 # spent 3µs making 1 call to warnings::import
12
13219µs250µs
# spent 28µs (6+22) within Class::MOP::Method::Generated::BEGIN@13 which was called: # once (6µs+22µs) by base::import at line 13
use Carp 'confess';
# spent 28µs making 1 call to Class::MOP::Method::Generated::BEGIN@13 # spent 22µs making 1 call to Exporter::import
14294µs21.33ms
# spent 1.31ms (1.12+188µs) within Class::MOP::Method::Generated::BEGIN@14 which was called: # once (1.12ms+188µs) by base::import at line 14
use Eval::Closure;
# spent 1.31ms making 1 call to Class::MOP::Method::Generated::BEGIN@14 # spent 24µs making 1 call to Exporter::import
15
162243µs260µs
# spent 60µs (7+53) within Class::MOP::Method::Generated::BEGIN@16 which was called: # once (7µs+53µs) by base::import at line 16
use base 'Class::MOP::Method';
# spent 60µs making 1 call to Class::MOP::Method::Generated::BEGIN@16 # spent 53µs making 1 call to base::import, recursion: max depth 1, sum of overlapping time 53µs
17
18## accessors
19
20sub new {
21 confess __PACKAGE__ . " is an abstract base class, you must provide a constructor.";
22}
23
24sub _initialize_body {
25 confess "No body to initialize, " . __PACKAGE__ . " is an abstract base class";
26}
27
28
# spent 1.20ms (1.11+91µs) within Class::MOP::Method::Generated::_generate_description which was called 187 times, avg 6µs/call: # 187 times (1.11ms+91µs) by Class::MOP::Method::Generated::_compile_code at line 63, avg 6µs/call
sub _generate_description {
2918730µs my ( $self, $context ) = @_;
30187410µs18791µs $context ||= $self->definition_context;
# spent 91µs making 187 calls to Class::MOP::Method::Generated::definition_context, avg 486ns/call
31
3218722µs my $desc = "generated method";
3318719µs my $origin = "unknown origin";
34
3518722µs if (defined $context) {
3618767µs if (defined $context->{description}) {
37 $desc = $context->{description};
38 }
39
40187258µs if (defined $context->{file} || defined $context->{line}) {
41 $origin = "defined at "
42 . (defined $context->{file}
43 ? $context->{file} : "<unknown file>")
44 . " line "
45 . (defined $context->{line}
46 ? $context->{line} : "<unknown line>");
47 }
48 }
49
50187361µs return "$desc ($origin)";
51}
52
53
# spent 57.5ms (1.92+55.6) within Class::MOP::Method::Generated::_compile_code which was called 187 times, avg 307µs/call: # 61 times (709µs+22.2ms) by Moose::Meta::Method::Accessor::try {...} at line 38 of Moose/Meta/Method/Accessor.pm, avg 376µs/call # 53 times (479µs+6.33ms) by Class::MOP::Method::Accessor::try {...} at line 142 of Class/MOP/Method/Accessor.pm, avg 128µs/call # 31 times (343µs+22.2ms) by Class::MOP::Method::Constructor::try {...} at line 110 of Class/MOP/Method/Constructor.pm, avg 727µs/call # 22 times (206µs+2.73ms) by Class::MOP::Method::Accessor::try {...} at line 112 of Class/MOP/Method/Accessor.pm, avg 133µs/call # 16 times (142µs+1.64ms) by Class::MOP::Method::Accessor::try {...} at line 204 of Class/MOP/Method/Accessor.pm, avg 111µs/call # 3 times (26µs+302µs) by Class::MOP::Method::Accessor::try {...} at line 179 of Class/MOP/Method/Accessor.pm, avg 110µs/call # once (14µs+127µs) by Moose::Meta::Method::Destructor::try {...} at line 97 of Moose/Meta/Method/Destructor.pm
sub _compile_code {
5418761µs my ( $self, @args ) = @_;
55187144µs unshift @args, 'source' if @args % 2;
5618797µs my %args = @args;
57
5818760µs my $context = delete $args{context};
59187563µs27913.4ms my $environment = $self->can('_eval_environment')
# spent 7.77ms making 31 calls to Class::MOP::Method::Constructor::_eval_environment, avg 251µs/call # spent 2.18ms making 35 calls to Moose::Meta::Method::Accessor::_eval_environment, avg 62µs/call # spent 619µs making 4 calls to Moose::Meta::Class::__ANON__::SERIAL::6::_eval_environment, avg 155µs/call # spent 607µs making 4 calls to Moose::Meta::Class::__ANON__::SERIAL::2::_eval_environment, avg 152µs/call # spent 596µs making 4 calls to Moose::Meta::Class::__ANON__::SERIAL::3::_eval_environment, avg 149µs/call # spent 492µs making 5 calls to Moose::Meta::Class::__ANON__::SERIAL::4::_eval_environment, avg 98µs/call # spent 398µs making 4 calls to Moose::Meta::Class::__ANON__::SERIAL::7::_eval_environment, avg 100µs/call # spent 372µs making 4 calls to Moose::Meta::Class::__ANON__::SERIAL::5::_eval_environment, avg 93µs/call # spent 177µs making 1 call to Moose::Meta::Class::__ANON__::SERIAL::8::_eval_environment # spent 155µs making 187 calls to UNIVERSAL::can, avg 829ns/call
60 ? $self->_eval_environment
61 : {};
62
63187824µs37442.2ms return eval_closure(
# spent 41.0ms making 187 calls to Eval::Closure::eval_closure, avg 219µs/call # spent 1.20ms making 187 calls to Class::MOP::Method::Generated::_generate_description, avg 6µs/call
64 environment => $environment,
65 description => $self->_generate_description($context),
66 %args,
67 );
68}
69
7015µs1;
71
72# ABSTRACT: Abstract base class for generated methods
73
74__END__