Profile of lib/Data/DPath/Step.pm

← Index
NYTProf Performance Profile «line view»
For t/optimization.t
Run on Thu Jan 8 22:47:42 2015
Reported on Thu Jan 8 22:48:05 2015

Filename | /home/ss5/local/projects/data-dpath/lib/Data/DPath/Step.pm
Statements | Executed 7 statements in 168µs

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 641µs | 2.75ms | Data::DPath::Step::::BEGIN@8Data::DPath::Step::BEGIN@8
1 | 1 | 1 | 17µs | 32µs | Data::DPath::Step::::BEGIN@4Data::DPath::Step::BEGIN@4
1 | 1 | 1 | 13µs | 21µs | Data::DPath::Step::::BEGIN@5Data::DPath::Step::BEGIN@5
2 | 2 | 1 | 11µs | 11µs | Data::DPath::Step::::newData::DPath::Step::new (xsub)
10 | 5 | 2 | 8µs | 8µs | Data::DPath::Step::::kindData::DPath::Step::kind (xsub)
6 | 5 | 2 | 7µs | 7µs | Data::DPath::Step::::partData::DPath::Step::part (xsub)
2 | 2 | 2 | 2µs | 2µs | Data::DPath::Step::::filterData::DPath::Step::filter (xsub)

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package Data::DPath::Step;
2 |  |  |  |  | # ABSTRACT: Abstraction for a single Step through a Path
3 |  |  |  |  |
4 | 2 | 27µs | 2 | 47µs | # spent 32µs (17+15) within Data::DPath::Step::BEGIN@4 which was called: # once (17µs+15µs) by Data::DPath::Path::BEGIN@1 at line 4 use strict; # spent 32µs making 1 call to Data::DPath::Step::BEGIN@4 # spent 15µs making 1 call to strict::import
5 | 2 | 40µs | 2 | 29µs | # spent 21µs (13+8) within Data::DPath::Step::BEGIN@5 which was called: # once (13µs+8µs) by Data::DPath::Path::BEGIN@1 at line 5 use warnings; # spent 21µs making 1 call to Data::DPath::Step::BEGIN@5 # spent 8µs making 1 call to warnings::import
6 |  |  |  |  |
7 |  |  |  |  | use Class::XSAccessor::Array
8 | 1 | 9µs | 1 | 193µs | # spent 2.75ms (641µs+2.11) within Data::DPath::Step::BEGIN@8 which was called: # once (641µs+2.11ms) by Data::DPath::Path::BEGIN@1 at line 14 chained => 1, # spent 193µs making 1 call to Class::XSAccessor::Array::import
9 |  |  |  |  | constructor => 'new',
10 |  |  |  |  | accessors => {
11 |  |  |  |  | kind => 0,
12 |  |  |  |  | part => 1,
13 |  |  |  |  | filter => 2,
14 | 1 | 89µs | 1 | 2.75ms | }; # spent 2.75ms making 1 call to Data::DPath::Step::BEGIN@8
15 |  |  |  |  |
16 | 1 | 2µs |  |  | 1;
17 |  |  |  |  |
18 |  |  |  |  | __END__
|  |  |  |  | # spent 2µs within Data::DPath::Step::filter which was called 2 times, avg 1µs/call: # once (1µs+0s) by Data::DPath::Context::_filter_points at line 217 of lib/Data/DPath/Context.pm # once (700ns+0s) by Data::DPath::Path::_build__steps at line 124 of lib/Data/DPath/Path.pm sub Data::DPath::Step::filter; # xsub
|  |  |  |  | # spent 8µs within Data::DPath::Step::kind which was called 10 times, avg 760ns/call: # 6 times (4µs+0s) by Data::DPath::Context::_search at line 424 of lib/Data/DPath/Context.pm, avg 617ns/call # once (2µs+0s) by Data::DPath::Path::_build__steps at line 126 of lib/Data/DPath/Path.pm # once (900ns+0s) by Data::DPath::Path::_build__steps at line 71 of lib/Data/DPath/Path.pm # once (700ns+0s) by Data::DPath::Path::_build__steps at line 124 of lib/Data/DPath/Path.pm # once (600ns+0s) by Data::DPath::Context::_select_anywhere at line 253 of lib/Data/DPath/Context.pm sub Data::DPath::Step::kind; # xsub
|  |  |  |  | # spent 11µs within Data::DPath::Step::new which was called 2 times, avg 6µs/call: # once (9µs+0s) by Data::DPath::Path::_build__steps at line 71 of lib/Data/DPath/Path.pm # once (2µs+0s) by Data::DPath::Path::_build__steps at line 124 of lib/Data/DPath/Path.pm sub Data::DPath::Step::new; # xsub
|  |  |  |  | # spent 7µs within Data::DPath::Step::part which was called 6 times, avg 1µs/call: # 2 times (1µs+0s) by Data::DPath::Context::_select_key at line 283 of lib/Data/DPath/Context.pm, avg 600ns/call # once (4µs+0s) by Data::DPath::Path::_build__steps at line 71 of lib/Data/DPath/Path.pm # once (1µs+0s) by Data::DPath::Path::_build__steps at line 124 of lib/Data/DPath/Path.pm # once (500ns+0s) by Data::DPath::Context::_select_key at line 281 of lib/Data/DPath/Context.pm # once (500ns+0s) by Data::DPath::Context::_select_anywhere at line 253 of lib/Data/DPath/Context.pm sub Data::DPath::Step::part; # xsub