Profile of (eval 109)[XML/Twig.pm:1750]

← Index
NYTProf Performance Profile
For t/bug-md-11.t
Run on Fri Mar 8 13:27:24 2024
Reported on Fri Mar 8 13:30:23 2024

Filename | (eval 109)[/home/micha/.plenv/versions/5.38.2/lib/perl5/site_perl/5.38.2/XML/Twig.pm:1750]
Statements | Executed 727206 statements in 246ms
Eval Invoked At | /home/micha/.plenv/versions/5.38.2/lib/perl5/site_perl/5.38.2/XML/Twig.pm line 1750
Sibling evals | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

NOTE!
The data used to generate this report page was merged from 2 of the 21 executions
of the string eval on line 1750 of /home/micha/.plenv/versions/5.38.2/lib/perl5/site_perl/5.38.2/XML/Twig.pm.

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
36360 | 1 | 1 | 136ms | 136ms | XML::Twig::::__ANON__[:26]XML::Twig::__ANON__[:26] (merge of 2 subs)
1 | 1 | 1 | 6µs | 17µs | XML::Twig::::BEGIN@1.53XML::Twig::BEGIN@1.53
1 | 1 | 1 | 6µs | 17µs | XML::Twig::::BEGIN@1.63XML::Twig::BEGIN@1.63

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

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 | 4 | 229µs | 4 | 56µs | # spent 17µs (6+11) within XML::Twig::BEGIN@1.63 which was called: # once (6µs+11µs) by XML::Twig::_parse_xpath_handler at line 1 # spent 17µs (6+11) within XML::Twig::BEGIN@1.53 which was called: # once (6µs+11µs) by XML::Twig::_parse_xpath_handler at line 1 # spent 136ms within XML::Twig::__ANON__[(eval 109)[/home/micha/.plenv/versions/5.38.2/lib/perl5/site_perl/5.38.2/XML/Twig.pm:1750]:26] which was called 36360 times, avg 4µs/call: # (data for this subroutine includes 1 others that were merged with it) # 36360 times (136ms+0s) by XML::Twig::_handler at line 2405 of XML/Twig.pm, avg 4µs/call sub { no warnings; # spent 22µs making 2 calls to warnings::unimport, avg 11µs/call # spent 17µs making 1 call to XML::Twig::BEGIN@1.63 # spent 17µs making 1 call to XML::Twig::BEGIN@1.53
2 | 36360 | 3.92ms |  |  | my( $stack)= @_;
3 | 36360 | 9.69ms |  |  | my @current_elts= (scalar @$stack);
4 | 36360 | 3.40ms |  |  | my @new_current_elts;
5 |  |  |  |  | my $elt;
6 |  |  |  |  |
7 | 36360 | 8.36ms |  |  | foreach my $current_elt (@current_elts)
8 | 36360 | 3.67ms |  |  | { next if( !$current_elt);
9 | 36360 | 3.98ms |  |  | $current_elt--;
10 | 36360 | 6.53ms |  |  | $elt= $stack->[$current_elt];
11 | 36360 | 16.8ms |  |  | if( ($elt->{'##tag'} eq "s:mergeCell")) { push @new_current_elts, $current_elt;}
12 |  |  |  |  | }
13 | 36360 | 3.81ms |  |  | unless( @new_current_elts) { return 0; }
14 | 36360 | 6.81ms |  |  | @current_elts= @new_current_elts;
15 | 36360 | 5.50ms |  |  | @new_current_elts=();
16 | 36360 | 6.33ms |  |  | foreach my $current_elt (@current_elts)
17 | 36360 | 2.85ms |  |  | { next if( !$current_elt);
18 | 36360 | 2.40ms |  |  | $current_elt--;
19 | 36360 | 6.51ms |  |  | $elt= $stack->[$current_elt];
20 | 36360 | 11.4ms |  |  | if( ($elt->{'##tag'} eq "s:mergeCells")) { push @new_current_elts, $current_elt;}
21 |  |  |  |  | }
22 | 36360 | 3.40ms |  |  | unless( @new_current_elts) { return 0; }
23 | 36360 | 6.03ms |  |  | @current_elts= @new_current_elts;
24 | 36360 | 4.06ms |  |  | @new_current_elts=();
25 | 36360 | 130ms |  |  | return q{s:mergeCells/s:mergeCell};
26 | 2 | 6µs |  |  | }
27 |  |  |  |  | ;