Profile of Test/Deep/Ref.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:06 2015

Filename | /home/ss5/perl5/perlbrew/perls/tapper-perl/lib/site_perl/5.16.3/Test/Deep/Ref.pm
Statements | Executed 25 statements in 249µs

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
2 | 1 | 1 | 23µs | 1000µs | Test::Deep::Ref::::test_class Test::Deep::Ref::test_class
2 | 1 | 1 | 19µs | 1.50ms | Test::Deep::Ref::::test_reftype Test::Deep::Ref::test_reftype
1 | 1 | 1 | 16µs | 30µs | Test::Deep::Hash::::BEGIN@1Test::Deep::Hash::BEGIN@1
1 | 1 | 1 | 10µs | 40µs | Test::Deep::Ref::::BEGIN@8 Test::Deep::Ref::BEGIN@8
1 | 1 | 1 | 9µs | 14µs | Test::Deep::Hash::::BEGIN@2Test::Deep::Hash::BEGIN@2
1 | 1 | 1 | 9µs | 27µs | Test::Deep::Ref::::BEGIN@6 Test::Deep::Ref::BEGIN@6

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 | 2 | 25µs | 2 | 44µs | # spent 30µs (16+14) within Test::Deep::Hash::BEGIN@1 which was called: # once (16µs+14µs) by Test::Deep::Hash::BEGIN@6 at line 1 use strict; # spent 30µs making 1 call to Test::Deep::Hash::BEGIN@1 # spent 14µs making 1 call to strict::import
2 | 2 | 31µs | 2 | 18µs | # spent 14µs (9+4) within Test::Deep::Hash::BEGIN@2 which was called: # once (9µs+4µs) by Test::Deep::Hash::BEGIN@6 at line 2 use warnings; # spent 14µs making 1 call to Test::Deep::Hash::BEGIN@2 # spent 4µs making 1 call to warnings::import
3 |  |  |  |  |
4 |  |  |  |  | package Test::Deep::Ref;
5 |  |  |  |  |
6 | 2 | 31µs | 2 | 45µs | # spent 27µs (9+18) within Test::Deep::Ref::BEGIN@6 which was called: # once (9µs+18µs) by Test::Deep::Hash::BEGIN@6 at line 6 use Test::Deep::Cmp; # spent 27µs making 1 call to Test::Deep::Ref::BEGIN@6 # spent 18µs making 1 call to Test::Deep::Cmp::import
7 |  |  |  |  |
8 | 2 | 118µs | 2 | 70µs | # spent 40µs (10+30) within Test::Deep::Ref::BEGIN@8 which was called: # once (10µs+30µs) by Test::Deep::Hash::BEGIN@6 at line 8 use Scalar::Util qw( blessed ); # spent 40µs making 1 call to Test::Deep::Ref::BEGIN@8 # spent 30µs making 1 call to Exporter::import
9 |  |  |  |  |
10 |  |  |  |  | sub test_class
11 |  |  |  |  | # spent 1000µs (23+976) within Test::Deep::Ref::test_class which was called 2 times, avg 500µs/call: # 2 times (23µs+976µs) by Test::Deep::Hash::descend at line 29 of Test/Deep/Hash.pm, avg 500µs/call {
12 | 2 | 800ns |  |  | my $self = shift;
13 | 2 | 700ns |  |  | my $got = shift;
14 |  |  |  |  |
15 | 2 | 2µs |  |  | my $exp = $self->{val};
16 |  |  |  |  |
17 | 2 | 21µs | 6 | 578µs | if ($Test::Deep::Snobby) # spent 576µs making 2 calls to Test::Deep::__ANON__[Test/Deep.pm:81], avg 288µs/call # spent 2µs making 2 calls to Scalar::Util::blessed, avg 750ns/call # spent 398µs making 2 calls to Test::Deep::descend, avg 199µs/call, recursion: max depth 2, sum of overlapping time 398µs
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 1.50ms (19µs+1.48) within Test::Deep::Ref::test_reftype which was called 2 times, avg 751µs/call: # 2 times (19µs+1.48ms) by Test::Deep::HashKeys::descend at line 25 of Test/Deep/HashKeys.pm, avg 751µs/call {
29 | 2 | 800ns |  |  | my $self = shift;
30 | 2 | 400ns |  |  | my $got = shift;
31 | 2 | 600ns |  |  | my $reftype = shift;
32 |  |  |  |  |
33 | 2 | 16µs | 4 | 526µs | return Test::Deep::descend($got, Test::Deep::reftype($reftype)); # spent 526µs making 2 calls to Test::Deep::__ANON__[Test/Deep.pm:81], avg 263µs/call # spent 957µs making 2 calls to Test::Deep::descend, avg 478µs/call, recursion: max depth 3, sum of overlapping time 957µs
34 |  |  |  |  | }
35 |  |  |  |  |
36 | 1 | 2µs |  |  | 1;