Profile of Test/Deep/Ref.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For t/app_dpath.t
Run on Tue Jun 5 15:25:28 2012
Reported on Tue Jun 5 15:26:06 2012

Filename | /home/ss5/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/Test/Deep/Ref.pm
Statements | Executed 153 statements in 2.30ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 2.99ms | 3.93ms | Test::Deep::Ref::::BEGIN@6 Test::Deep::Ref::BEGIN@6
18 | 2 | 2 | 954µs | 17.3ms | Test::Deep::Ref::::test_class Test::Deep::Ref::test_class
18 | 2 | 2 | 586µs | 21.6ms | Test::Deep::Ref::::test_reftype Test::Deep::Ref::test_reftype
1 | 1 | 1 | 98µs | 120µs | Test::Deep::Array::::BEGIN@1Test::Deep::Array::BEGIN@1
1 | 1 | 1 | 63µs | 84µs | Test::Deep::Array::::BEGIN@2Test::Deep::Array::BEGIN@2
1 | 1 | 1 | 36µs | 224µs | Test::Deep::Ref::::BEGIN@8 Test::Deep::Ref::BEGIN@8

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 | 2 | 128µs | 2 | 142µs | # spent 120µs (98+22) within Test::Deep::Array::BEGIN@1 which was called: # once (98µs+22µs) by Test::Deep::Array::BEGIN@6 at line 1 use strict; # spent 120µs making 1 call to Test::Deep::Array::BEGIN@1 # spent 22µs making 1 call to strict::import
2 | 2 | 128µs | 2 | 105µs | # spent 84µs (63+21) within Test::Deep::Array::BEGIN@2 which was called: # once (63µs+21µs) by Test::Deep::Array::BEGIN@6 at line 2 use warnings; # spent 84µs making 1 call to Test::Deep::Array::BEGIN@2 # spent 21µs making 1 call to warnings::import
3 |  |  |  |  |
4 |  |  |  |  | package Test::Deep::Ref;
5 |  |  |  |  |
6 | 2 | 365µs | 2 | 4.03ms | # spent 3.93ms (2.99+945µs) within Test::Deep::Ref::BEGIN@6 which was called: # once (2.99ms+945µs) by Test::Deep::Array::BEGIN@6 at line 6 use Test::Deep::Cmp; # spent 3.93ms making 1 call to Test::Deep::Ref::BEGIN@6 # spent 99µs making 1 call to Test::Deep::Cmp::import
7 |  |  |  |  |
8 | 2 | 488µs | 2 | 411µs | # spent 224µs (36+187) within Test::Deep::Ref::BEGIN@8 which was called: # once (36µs+187µs) by Test::Deep::Array::BEGIN@6 at line 8 use Scalar::Util qw( blessed ); # spent 224µs making 1 call to Test::Deep::Ref::BEGIN@8 # spent 187µs making 1 call to Exporter::import
9 |  |  |  |  |
10 |  |  |  |  | sub test_class
11 |  |  |  |  | # spent 17.3ms (954µs+16.3) within Test::Deep::Ref::test_class which was called 18 times, avg 961µs/call: # 15 times (776µs+13.9ms) by Test::Deep::Array::descend at line 26 of Test/Deep/Array.pm, avg 979µs/call # 3 times (178µs+2.42ms) by Test::Deep::Hash::descend at line 29 of Test/Deep/Hash.pm, avg 867µs/call {
12 | 72 | 730µs |  |  | my $self = shift;
13 |  |  |  |  | my $got = shift;
14 |  |  |  |  |
15 |  |  |  |  | my $exp = $self->{val};
16 |  |  |  |  |
17 |  |  | 54 | 3.12ms | if ($Test::Deep::Snobby) # spent 3.06ms making 18 calls to Test::Deep::__ANON__[Test/Deep.pm:80], avg 170µs/call # spent 54µs making 18 calls to Scalar::Util::blessed, avg 3µs/call # spent 13.2ms making 18 calls to Test::Deep::descend, avg 734µs/call, recursion: max depth 1, sum of overlapping time 13.2ms
18 |  |  |  |  | {
19 |  |  |  |  | return Test::Deep::descend($got, Test::Deep::blessed(blessed($exp)));
20 |  |  |  |  | }
21 |  |  |  |  | else
22 |  |  |  |  | {
23 |  |  |  |  | return 1;
24 |  |  |  |  | }
25 |  |  |  |  | }
26 |  |  |  |  |
27 |  |  |  |  | sub test_reftype
28 |  |  |  |  | # spent 21.6ms (586µs+21.0) within Test::Deep::Ref::test_reftype which was called 18 times, avg 1.20ms/call: # 15 times (488µs+18.2ms) by Test::Deep::ArrayLength::descend at line 24 of Test/Deep/ArrayLength.pm, avg 1.25ms/call # 3 times (98µs+2.77ms) by Test::Deep::HashKeys::descend at line 25 of Test/Deep/HashKeys.pm, avg 957µs/call {
29 | 72 | 452µs |  |  | my $self = shift;
30 |  |  |  |  | my $got = shift;
31 |  |  |  |  | my $reftype = shift;
32 |  |  |  |  |
33 |  |  | 36 | 3.15ms | return Test::Deep::descend($got, Test::Deep::reftype($reftype)); # spent 3.15ms making 18 calls to Test::Deep::__ANON__[Test/Deep.pm:80], avg 175µs/call # spent 17.9ms making 18 calls to Test::Deep::descend, avg 993µs/call, recursion: max depth 2, sum of overlapping time 17.9ms
34 |  |  |  |  | }
35 |  |  |  |  |
36 | 1 | 7µs |  |  | 1;