Profile of Test/Deep/Array.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/Array.pm
Statements | Executed 142 statements in 2.88ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
15 | 1 | 1 | 1.14ms | 70.5ms | Test::Deep::Array::::descendTest::Deep::Array::descend
1 | 1 | 1 | 1.03ms | 5.45ms | Test::Deep::Array::::BEGIN@6Test::Deep::Array::BEGIN@6
15 | 1 | 1 | 495µs | 495µs | Test::Deep::Array::::initTest::Deep::Array::init
1 | 1 | 1 | 109µs | 148µs | Test::Deep::::BEGIN@1.7 Test::Deep::BEGIN@1.7
1 | 1 | 1 | 58µs | 117µs | Test::Deep::::BEGIN@2.8 Test::Deep::BEGIN@2.8
0 | 0 | 0 | 0s | 0s | Test::Deep::Array::::reset_arrowTest::Deep::Array::reset_arrow

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 | 2 | 155µs | 2 | 188µs | # spent 148µs (109+40) within Test::Deep::BEGIN@1.7 which was called: # once (109µs+40µs) by Test::Deep::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/Test/Deep.pm:80] at line 1 use strict; # spent 148µs making 1 call to Test::Deep::BEGIN@1.7 # spent 40µs making 1 call to strict::import
2 | 2 | 188µs | 2 | 176µs | # spent 117µs (58+59) within Test::Deep::BEGIN@2.8 which was called: # once (58µs+59µs) by Test::Deep::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/Test/Deep.pm:80] at line 2 use warnings; # spent 117µs making 1 call to Test::Deep::BEGIN@2.8 # spent 59µs making 1 call to warnings::import
3 |  |  |  |  |
4 |  |  |  |  | package Test::Deep::Array;
5 |  |  |  |  |
6 | 2 | 867µs | 2 | 5.51ms | # spent 5.45ms (1.03+4.42) within Test::Deep::Array::BEGIN@6 which was called: # once (1.03ms+4.42ms) by Test::Deep::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/Test/Deep.pm:80] at line 6 use Test::Deep::Ref; # spent 5.45ms making 1 call to Test::Deep::Array::BEGIN@6 # spent 58µs making 1 call to Test::Deep::Cmp::import
7 |  |  |  |  |
8 |  |  |  |  | sub init
9 |  |  |  |  | # spent 495µs within Test::Deep::Array::init which was called 15 times, avg 33µs/call: # 15 times (495µs+0s) by Test::Deep::Cmp::new at line 33 of Test/Deep/Cmp.pm, avg 33µs/call {
10 | 45 | 490µs |  |  | my $self = shift;
11 |  |  |  |  |
12 |  |  |  |  | my $val = shift;
13 |  |  |  |  |
14 |  |  |  |  | $self->{val} = $val;
15 |  |  |  |  | }
16 |  |  |  |  |
17 |  |  |  |  | sub descend
18 |  |  |  |  | # spent 70.5ms (1.14+69.3) within Test::Deep::Array::descend which was called 15 times, avg 4.70ms/call: # 15 times (1.14ms+69.3ms) by Test::Deep::descend at line 328 of Test/Deep.pm, avg 4.70ms/call {
19 | 90 | 1.17ms |  |  | my $self = shift;
20 |  |  |  |  | my $got = shift;
21 |  |  |  |  |
22 |  |  |  |  | my $exp = $self->{val};
23 |  |  |  |  |
24 |  |  | 30 | 3.00ms | return 0 unless Test::Deep::descend($got, Test::Deep::arraylength(scalar @$exp)); # spent 3.00ms making 15 calls to Test::Deep::__ANON__[Test/Deep.pm:80], avg 200µs/call # spent 39.1ms making 15 calls to Test::Deep::descend, avg 2.60ms/call, recursion: max depth 1, sum of overlapping time 39.1ms
25 |  |  |  |  |
26 |  |  | 15 | 14.7ms | return 0 unless $self->test_class($got); # spent 14.7ms making 15 calls to Test::Deep::Ref::test_class, avg 979µs/call
27 |  |  |  |  |
28 |  |  | 30 | 3.12ms | return Test::Deep::descend($got, Test::Deep::arrayelementsonly($exp)); # spent 3.12ms making 15 calls to Test::Deep::__ANON__[Test/Deep.pm:80], avg 208µs/call # spent 9.47ms making 15 calls to Test::Deep::descend, avg 631µs/call, recursion: max depth 1, sum of overlapping time 9.47ms
29 |  |  |  |  | }
30 |  |  |  |  |
31 |  |  |  |  | sub reset_arrow
32 |  |  |  |  | {
33 |  |  |  |  | return 0;
34 |  |  |  |  | }
35 |  |  |  |  |
36 | 1 | 9µs |  |  | 1;