← Index
NYTProf Performance Profile   « line view »
For /Users/timbo/perl5/perlbrew/perls/perl-5.18.2/bin/perlcritic
  Run on Sat Mar 19 22:12:22 2016
Reported on Sat Mar 19 22:14:10 2016

Filename/Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/Pod/Simple/LinkSection.pm
StatementsExecuted 14 statements in 402µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1117.71ms7.79msPod::Simple::LinkSection::::BEGIN@9Pod::Simple::LinkSection::BEGIN@9
11112µs32µsPod::Simple::LinkSection::::BEGIN@5Pod::Simple::LinkSection::BEGIN@5
11110µs36µsPod::Simple::LinkSection::::BEGIN@10Pod::Simple::LinkSection::BEGIN@10
1119µs45µsPod::Simple::LinkSection::::BEGIN@13Pod::Simple::LinkSection::BEGIN@13
1116µs18µsPod::Simple::LinkSection::::BEGIN@8Pod::Simple::LinkSection::BEGIN@8
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
216µsrequire 5;
3package Pod::Simple::LinkSection;
4 # Based somewhat dimly on Array::Autojoin
5227µs252µs
# spent 32µs (12+20) within Pod::Simple::LinkSection::BEGIN@5 which was called: # once (12µs+20µs) by Pod::Simple::BEGIN@9 at line 5
use vars qw($VERSION );
# spent 32µs making 1 call to Pod::Simple::LinkSection::BEGIN@5 # spent 20µs making 1 call to vars::import
61400ns$VERSION = '3.28';
7
8218µs229µs
# spent 18µs (6+11) within Pod::Simple::LinkSection::BEGIN@8 which was called: # once (6µs+11µs) by Pod::Simple::BEGIN@9 at line 8
use strict;
# spent 18µs making 1 call to Pod::Simple::LinkSection::BEGIN@8 # spent 11µs making 1 call to strict::import
92109µs17.79ms
# spent 7.79ms (7.71+76µs) within Pod::Simple::LinkSection::BEGIN@9 which was called: # once (7.71ms+76µs) by Pod::Simple::BEGIN@9 at line 9
use Pod::Simple::BlackBox;
# spent 7.79ms making 1 call to Pod::Simple::LinkSection::BEGIN@9
10241µs261µs
# spent 36µs (10+25) within Pod::Simple::LinkSection::BEGIN@10 which was called: # once (10µs+25µs) by Pod::Simple::BEGIN@9 at line 10
use vars qw($VERSION );
# spent 36µs making 1 call to Pod::Simple::LinkSection::BEGIN@10 # spent 26µs making 1 call to vars::import
111100ns$VERSION = '3.28';
12
13
# spent 45µs (9+36) within Pod::Simple::LinkSection::BEGIN@13 which was called: # once (9µs+36µs) by Pod::Simple::BEGIN@9 at line 19
use overload( # So it'll stringify nice
141400ns '""' => \&Pod::Simple::BlackBox::stringify_lol,
15 'bool' => \&Pod::Simple::BlackBox::stringify_lol,
16 # '.=' => \&tack_on, # grudgingly support
17
18 'fallback' => 1, # turn on cleverness
191198µs280µs);
# spent 45µs making 1 call to Pod::Simple::LinkSection::BEGIN@13 # spent 36µs making 1 call to overload::import
20
21sub tack_on {
22 $_[0] = ['', {}, "$_[0]" ];
23 return $_[0][2] .= $_[1];
24}
25
26sub as_string {
27 goto &Pod::Simple::BlackBox::stringify_lol;
28}
29sub stringify {
30 goto &Pod::Simple::BlackBox::stringify_lol;
31}
32
33sub new {
34 my $class = shift;
35 $class = ref($class) || $class;
36 my $new;
37 if(@_ == 1) {
38 if (!ref($_[0] || '')) { # most common case: one bare string
39 return bless ['', {}, $_[0] ], $class;
40 } elsif( ref($_[0] || '') eq 'ARRAY') {
41 $new = [ @{ $_[0] } ];
42 } else {
43 Carp::croak( "$class new() doesn't know to clone $new" );
44 }
45 } else { # misc stuff
46 $new = [ '', {}, @_ ];
47 }
48
49 # By now it's a treelet: [ 'foo', {}, ... ]
50 foreach my $x (@$new) {
51 if(ref($x || '') eq 'ARRAY') {
52 $x = $class->new($x); # recurse
53 } elsif(ref($x || '') eq 'HASH') {
54 $x = { %$x };
55 }
56 # otherwise leave it.
57 }
58
59 return bless $new, $class;
60}
61
62# Not much in this class is likely to be link-section specific --
63# but it just so happens that link-sections are about the only treelets
64# that are exposed to the user.
65
6613µs1;
67
68__END__