← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:57 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/Pod/Simple/LinkSection.pm
StatementsExecuted 11 statements in 893µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11112.5ms14.1msPod::Simple::LinkSection::::BEGIN@7Pod::Simple::LinkSection::BEGIN@7
11135µs62µsPod::Simple::LinkSection::::BEGIN@8Pod::Simple::LinkSection::BEGIN@8
11122µs27µsPod::Simple::LinkSection::::BEGIN@6Pod::Simple::LinkSection::BEGIN@6
11112µs50µsPod::Simple::LinkSection::::BEGIN@11Pod::Simple::LinkSection::BEGIN@11
1111µs1µsPod::Simple::LinkSection::::__ANON__Pod::Simple::LinkSection::__ANON__ (xsub)
0000s0sPod::Simple::LinkSection::::as_stringPod::Simple::LinkSection::as_string
0000s0sPod::Simple::LinkSection::::newPod::Simple::LinkSection::new
0000s0sPod::Simple::LinkSection::::stringifyPod::Simple::LinkSection::stringify
0000s0sPod::Simple::LinkSection::::tack_onPod::Simple::LinkSection::tack_on
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1
2148µsrequire 5;
3package Pod::Simple::LinkSection;
4 # Based somewhat dimly on Array::Autojoin
5
6232µs232µs
# spent 27µs (22+5) within Pod::Simple::LinkSection::BEGIN@6 which was called: # once (22µs+5µs) by Pod::Simple::BEGIN@9 at line 6
use strict;
# spent 27µs making 1 call to Pod::Simple::LinkSection::BEGIN@6 # spent 5µs making 1 call to strict::import
72383µs214.1ms
# spent 14.1ms (12.5+1.60) within Pod::Simple::LinkSection::BEGIN@7 which was called: # once (12.5ms+1.60ms) by Pod::Simple::BEGIN@9 at line 7
use Pod::Simple::BlackBox;
# spent 14.1ms making 1 call to Pod::Simple::LinkSection::BEGIN@7 # spent 1µs making 1 call to Pod::Simple::LinkSection::__ANON__
8287µs289µs
# spent 62µs (35+27) within Pod::Simple::LinkSection::BEGIN@8 which was called: # once (35µs+27µs) by Pod::Simple::BEGIN@9 at line 8
use vars qw($VERSION );
# spent 62µs making 1 call to Pod::Simple::LinkSection::BEGIN@8 # spent 27µs making 1 call to vars::import
910s$VERSION = '3.43';
10
11
# spent 50µs (12+38) within Pod::Simple::LinkSection::BEGIN@11 which was called: # once (12µs+38µs) by Pod::Simple::BEGIN@9 at line 17
use overload( # So it'll stringify nice
1211µs '""' => \&Pod::Simple::BlackBox::stringify_lol,
13 'bool' => \&Pod::Simple::BlackBox::stringify_lol,
14 # '.=' => \&tack_on, # grudgingly support
15
16 'fallback' => 1, # turn on cleverness
171338µs288µs);
# spent 50µs making 1 call to Pod::Simple::LinkSection::BEGIN@11 # spent 38µs making 1 call to overload::import
18
19sub tack_on {
20 $_[0] = ['', {}, "$_[0]" ];
21 return $_[0][2] .= $_[1];
22}
23
24sub as_string {
25 goto &Pod::Simple::BlackBox::stringify_lol;
26}
27sub stringify {
28 goto &Pod::Simple::BlackBox::stringify_lol;
29}
30
31sub new {
32 my $class = shift;
33 $class = ref($class) || $class;
34 my $new;
35 if(@_ == 1) {
36 if (!ref($_[0] || '')) { # most common case: one bare string
37 return bless ['', {}, $_[0] ], $class;
38 } elsif( ref($_[0] || '') eq 'ARRAY') {
39 $new = [ @{ $_[0] } ];
40 } else {
41 Carp::croak( "$class new() doesn't know to clone $new" );
42 }
43 } else { # misc stuff
44 $new = [ '', {}, @_ ];
45 }
46
47 # By now it's a treelet: [ 'foo', {}, ... ]
48 foreach my $x (@$new) {
49 if(ref($x || '') eq 'ARRAY') {
50 $x = $class->new($x); # recurse
51 } elsif(ref($x || '') eq 'HASH') {
52 $x = { %$x };
53 }
54 # otherwise leave it.
55 }
56
57 return bless $new, $class;
58}
59
60# Not much in this class is likely to be link-section specific --
61# but it just so happens that link-sections are about the only treelets
62# that are exposed to the user.
63
6414µs1;
65
66__END__
 
# spent 1µs within Pod::Simple::LinkSection::__ANON__ which was called: # once (1µs+0s) by Pod::Simple::LinkSection::BEGIN@7 at line 7
sub Pod::Simple::LinkSection::__ANON__; # xsub