Profile of lib/Data/DPath/Point.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/Point.pm
Statements | Executed 7 statements in 95µs

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 15µs | 31µs | Data::DPath::Point::::BEGIN@4Data::DPath::Point::BEGIN@4
1 | 1 | 1 | 10µs | 274µs | Data::DPath::Point::::BEGIN@8Data::DPath::Point::BEGIN@8
1 | 1 | 1 | 10µs | 14µs | Data::DPath::Point::::BEGIN@5Data::DPath::Point::BEGIN@5
3 | 3 | 2 | 9µs | 9µs | Data::DPath::Point::::newData::DPath::Point::new (xsub)
7 | 7 | 2 | 6µs | 6µs | Data::DPath::Point::::refData::DPath::Point::ref (xsub)
3 | 3 | 1 | 3µs | 3µs | Data::DPath::Point::::parentData::DPath::Point::parent (xsub)
2 | 2 | 1 | 2µs | 2µs | Data::DPath::Point::::attrsData::DPath::Point::attrs (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::Point;
2 |  |  |  |  | # ABSTRACT: Abstraction for a single reference (a "point") in the datastructure
3 |  |  |  |  |
4 | 2 | 26µs | 2 | 47µs | # spent 31µs (15+16) within Data::DPath::Point::BEGIN@4 which was called: # once (15µs+16µs) by Data::DPath::Path::BEGIN@1.5 at line 4 use strict; # spent 31µs making 1 call to Data::DPath::Point::BEGIN@4 # spent 16µs making 1 call to strict::import
5 | 2 | 38µs | 2 | 19µs | # spent 14µs (10+5) within Data::DPath::Point::BEGIN@5 which was called: # once (10µs+5µs) by Data::DPath::Path::BEGIN@1.5 at line 5 use warnings; # spent 14µs making 1 call to Data::DPath::Point::BEGIN@5 # spent 5µs making 1 call to warnings::import
6 |  |  |  |  |
7 |  |  |  |  | use Class::XSAccessor # ::Array
8 | 1 | 7µs | 1 | 264µs | # spent 274µs (10+264) within Data::DPath::Point::BEGIN@8 which was called: # once (10µs+264µs) by Data::DPath::Path::BEGIN@1.5 at line 13 chained => 1, # spent 264µs making 1 call to Class::XSAccessor::import
9 |  |  |  |  | constructor => 'new',
10 |  |  |  |  | accessors => [qw( parent
11 |  |  |  |  | attrs
12 |  |  |  |  | ref
13 | 1 | 22µs | 1 | 274µs | )]; # spent 274µs making 1 call to Data::DPath::Point::BEGIN@8
14 |  |  |  |  |
15 | 1 | 2µs |  |  | 1;
16 |  |  |  |  |
17 |  |  |  |  | __END__
|  |  |  |  | # spent 2µs within Data::DPath::Point::attrs which was called 2 times, avg 950ns/call: # once (1µs+0s) by Data::DPath::Context::_select_key at line 283 of lib/Data/DPath/Context.pm # once (800ns+0s) by Data::DPath::Context::_any at line 136 of lib/Data/DPath/Context.pm sub Data::DPath::Point::attrs; # xsub
|  |  |  |  | # spent 9µs within Data::DPath::Point::new which was called 3 times, avg 3µs/call: # once (6µs+0s) by Data::DPath::Path::match at line 133 of lib/Data/DPath/Path.pm # once (2µs+0s) by Data::DPath::Context::_any at line 135 of lib/Data/DPath/Context.pm # once (1µs+0s) by Data::DPath::Context::_select_key at line 283 of lib/Data/DPath/Context.pm sub Data::DPath::Point::new; # xsub
|  |  |  |  | # spent 3µs within Data::DPath::Point::parent which was called 3 times, avg 867ns/call: # once (900ns+0s) by Data::DPath::Context::_select_parent at line 342 of lib/Data/DPath/Context.pm # once (900ns+0s) by Data::DPath::Context::_any at line 135 of lib/Data/DPath/Context.pm # once (800ns+0s) by Data::DPath::Context::_select_key at line 283 of lib/Data/DPath/Context.pm sub Data::DPath::Point::parent; # xsub
|  |  |  |  | # spent 6µs within Data::DPath::Point::ref which was called 7 times, avg 857ns/call: # once (1µs+0s) by Data::DPath::Path::match at line 133 of lib/Data/DPath/Path.pm # once (900ns+0s) by Data::DPath::Context::_select_key at line 283 of lib/Data/DPath/Context.pm # once (900ns+0s) by Data::DPath::Context::_filter_points_eval at line 183 of lib/Data/DPath/Context.pm # once (900ns+0s) by Data::DPath::Context::_any at line 135 of lib/Data/DPath/Context.pm # once (800ns+0s) by Data::DPath::Context::_any at line 106 of lib/Data/DPath/Context.pm # once (700ns+0s) by Data::DPath::Context::_all at line 152 of lib/Data/DPath/Context.pm # once (700ns+0s) by Data::DPath::Context::_select_key at line 273 of lib/Data/DPath/Context.pm sub Data::DPath::Point::ref; # xsub