Profile of Moose/Meta/Method/Accessor/Native/Reader.pm

← Index
NYTProf Performance Profile «line view»
For script/ponapi
Run on Wed Feb 10 15:51:26 2016
Reported on Thu Feb 11 09:43:11 2016

Filename | /usr/local/lib/perl/5.18.2/Moose/Meta/Method/Accessor/Native/Reader.pm
Statements | Executed 391 statements in 1.32ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
43 | 1 | 1 | 643µs | 12.8ms | Moose::Meta::Method::Accessor::Native::Reader::::_inline_reader_coreMoose::Meta::Method::Accessor::Native::Reader::_inline_reader_core
43 | 1 | 1 | 506µs | 16.3ms | Moose::Meta::Method::Accessor::Native::Reader::::_generate_methodMoose::Meta::Method::Accessor::Native::Reader::_generate_method
43 | 1 | 1 | 52µs | 52µs | Moose::Meta::Method::Accessor::Native::Reader::::_inline_process_argumentsMoose::Meta::Method::Accessor::Native::Reader::_inline_process_arguments
35 | 1 | 1 | 35µs | 35µs | Moose::Meta::Method::Accessor::Native::Reader::::_inline_check_argumentsMoose::Meta::Method::Accessor::Native::Reader::_inline_check_arguments
1 | 1 | 1 | 11µs | 22µs | Moose::Meta::Method::Accessor::Native::Reader::::BEGIN@4Moose::Meta::Method::Accessor::Native::Reader::BEGIN@4
1 | 1 | 1 | 8µs | 80µs | Moose::Meta::Method::Accessor::Native::Reader::::BEGIN@45Moose::Meta::Method::Accessor::Native::Reader::BEGIN@45
1 | 1 | 1 | 8µs | 2.06ms | Moose::Meta::Method::Accessor::Native::Reader::::BEGIN@7Moose::Meta::Method::Accessor::Native::Reader::BEGIN@7
1 | 1 | 1 | 7µs | 11µs | Moose::Meta::Method::Accessor::Native::Reader::::BEGIN@5Moose::Meta::Method::Accessor::Native::Reader::BEGIN@5

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package Moose::Meta::Method::Accessor::Native::Reader;
2 | 1 | 400ns |  |  | our $VERSION = '2.1604';
3 |  |  |  |  |
4 | 2 | 23µs | 2 | 34µs | # spent 22µs (11+12) within Moose::Meta::Method::Accessor::Native::Reader::BEGIN@4 which was called: # once (11µs+12µs) by Module::Runtime::require_module at line 4 use strict; # spent 22µs making 1 call to Moose::Meta::Method::Accessor::Native::Reader::BEGIN@4 # spent 12µs making 1 call to strict::import
5 | 2 | 20µs | 2 | 15µs | # spent 11µs (7+4) within Moose::Meta::Method::Accessor::Native::Reader::BEGIN@5 which was called: # once (7µs+4µs) by Module::Runtime::require_module at line 5 use warnings; # spent 11µs making 1 call to Moose::Meta::Method::Accessor::Native::Reader::BEGIN@5 # spent 4µs making 1 call to warnings::import
6 |  |  |  |  |
7 | 2 | 168µs | 2 | 4.10ms | # spent 2.06ms (8µs+2.05) within Moose::Meta::Method::Accessor::Native::Reader::BEGIN@7 which was called: # once (8µs+2.05ms) by Module::Runtime::require_module at line 7 use Moose::Role; # spent 2.06ms making 1 call to Moose::Meta::Method::Accessor::Native::Reader::BEGIN@7 # spent 2.05ms making 1 call to Moose::Role::import
8 |  |  |  |  |
9 | 1 | 3µs | 1 | 9.64ms | with 'Moose::Meta::Method::Accessor::Native'; # spent 9.64ms making 1 call to Moose::Role::with
10 |  |  |  |  |
11 | 1 | 1µs | 1 | 54µs | requires '_return_value'; # spent 54µs making 1 call to Moose::Role::requires
12 |  |  |  |  |
13 |  |  |  |  | # spent 16.3ms (506µs+15.8) within Moose::Meta::Method::Accessor::Native::Reader::_generate_method which was called 43 times, avg 380µs/call: # 43 times (506µs+15.8ms) by Moose::Meta::Method::Accessor::Native::_initialize_body at line 56 of Moose/Meta/Method/Accessor/Native.pm, avg 380µs/call sub _generate_method {
14 | 43 | 10µs |  |  | my $self = shift;
15 |  |  |  |  |
16 | 43 | 17µs |  |  | my $inv = '$self';
17 | 43 | 97µs | 43 | 2.72ms | my $slot_access = $self->_get_value($inv); # spent 1.15ms making 21 calls to Moose::Meta::Class::__ANON__::SERIAL::2::_get_value, avg 55µs/call # spent 610µs making 11 calls to Moose::Meta::Class::__ANON__::SERIAL::8::_get_value, avg 55µs/call # spent 296µs making 2 calls to Moose::Meta::Class::__ANON__::SERIAL::9::_get_value, avg 148µs/call # spent 255µs making 3 calls to Moose::Meta::Class::__ANON__::SERIAL::3::_get_value, avg 85µs/call # spent 232µs making 3 calls to Moose::Meta::Class::__ANON__::SERIAL::4::_get_value, avg 77µs/call # spent 175µs making 3 calls to Moose::Meta::Class::__ANON__::SERIAL::5::_get_value, avg 58µs/call
18 |  |  |  |  |
19 |  |  |  |  | return (
20 | 43 | 293µs | 86 | 13.1ms | 'sub {', # spent 12.8ms making 43 calls to Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core, avg 298µs/call # spent 293µs making 43 calls to Moose::Meta::Method::Accessor::Native::_inline_curried_arguments, avg 7µs/call
21 |  |  |  |  | 'my ' . $inv . ' = shift;',
22 |  |  |  |  | $self->_inline_curried_arguments,
23 |  |  |  |  | $self->_inline_reader_core($inv, $slot_access, @_),
24 |  |  |  |  | '}',
25 |  |  |  |  | );
26 |  |  |  |  | }
27 |  |  |  |  |
28 |  |  |  |  | # spent 12.8ms (643µs+12.2) within Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core which was called 43 times, avg 298µs/call: # 43 times (643µs+12.2ms) by Moose::Meta::Method::Accessor::Native::Reader::_generate_method at line 20, avg 298µs/call sub _inline_reader_core {
29 | 43 | 14µs |  |  | my $self = shift;
30 | 43 | 30µs |  |  | my ($inv, $slot_access, @extra) = @_;
31 |  |  |  |  |
32 |  |  |  |  | return (
33 | 43 | 472µs | 215 | 12.2ms | $self->_inline_check_argument_count, # spent 6.35ms making 43 calls to Moose::Meta::Method::Accessor::Native::_inline_check_argument_count, avg 148µs/call # spent 5.18ms making 43 calls to Moose::Meta::Method::Accessor::_inline_check_lazy, avg 120µs/call # spent 374µs making 43 calls to Moose::Meta::Method::Accessor::Native::_inline_return_value, avg 9µs/call # spent 72µs making 2 calls to Moose::Meta::Method::Accessor::Native::Array::get::_inline_check_arguments, avg 36µs/call # spent 70µs making 3 calls to Moose::Meta::Method::Accessor::Native::Hash::get::_inline_check_arguments, avg 23µs/call # spent 52µs making 43 calls to Moose::Meta::Method::Accessor::Native::Reader::_inline_process_arguments, avg 1µs/call # spent 44µs making 3 calls to Moose::Meta::Method::Accessor::Native::Hash::exists::_inline_check_arguments, avg 15µs/call # spent 35µs making 35 calls to Moose::Meta::Method::Accessor::Native::Reader::_inline_check_arguments, avg 1µs/call
34 |  |  |  |  | $self->_inline_process_arguments($inv, $slot_access),
35 |  |  |  |  | $self->_inline_check_arguments,
36 |  |  |  |  | $self->_inline_check_lazy($inv, '$type_constraint', '$type_coercion', '$type_message'),
37 |  |  |  |  | $self->_inline_return_value($slot_access),
38 |  |  |  |  | );
39 |  |  |  |  | }
40 |  |  |  |  |
41 | 43 | 82µs |  |  | # spent 52µs within Moose::Meta::Method::Accessor::Native::Reader::_inline_process_arguments which was called 43 times, avg 1µs/call: # 43 times (52µs+0s) by Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core at line 33, avg 1µs/call sub _inline_process_arguments { return }
42 |  |  |  |  |
43 | 35 | 56µs |  |  | # spent 35µs within Moose::Meta::Method::Accessor::Native::Reader::_inline_check_arguments which was called 35 times, avg 1µs/call: # 35 times (35µs+0s) by Moose::Meta::Method::Accessor::Native::Reader::_inline_reader_core at line 33, avg 1µs/call sub _inline_check_arguments { return }
44 |  |  |  |  |
45 | 2 | 24µs | 2 | 152µs | # spent 80µs (8+72) within Moose::Meta::Method::Accessor::Native::Reader::BEGIN@45 which was called: # once (8µs+72µs) by Module::Runtime::require_module at line 45 no Moose::Role; # spent 80µs making 1 call to Moose::Meta::Method::Accessor::Native::Reader::BEGIN@45 # spent 72µs making 1 call to Moose::Role::unimport
46 |  |  |  |  |
47 | 1 | 12µs |  |  | 1;