← 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:13 2016

Filename/Users/timbo/perl5/perlbrew/perls/perl-5.18.2/lib/site_perl/5.18.2/Perl/Critic/Annotation.pm
StatementsExecuted 12520 statements in 71.5ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
511143.8ms53.0msPerl::Critic::Annotation::::_parse_annotationPerl::Critic::Annotation::_parse_annotation
1441114.3ms1.77sPerl::Critic::Annotation::::create_annotationsPerl::Critic::Annotation::create_annotations
9226519.07ms12.3msPerl::Critic::Annotation::::CORE:matchPerl::Critic::Annotation::CORE:match (opcode)
51114.92ms85.7msPerl::Critic::Annotation::::_initPerl::Critic::Annotation::_init
9175414.23ms4.23msPerl::Critic::Annotation::::CORE:regcompPerl::Critic::Annotation::CORE:regcomp (opcode)
5111953┬Ás7.61msPerl::Critic::Annotation::::_is_single_line_annotation_on_simple_statementPerl::Critic::Annotation::_is_single_line_annotation_on_simple_statement
20831495┬Ás495┬ÁsPerl::Critic::Annotation::::CORE:qrPerl::Critic::Annotation::CORE:qr (opcode)
5111429┬Ás86.1msPerl::Critic::Annotation::::newPerl::Critic::Annotation::new
5111152┬Ás152┬ÁsPerl::Critic::Annotation::::disabled_policiesPerl::Critic::Annotation::disabled_policies
5111104┬Ás104┬ÁsPerl::Critic::Annotation::::effective_rangePerl::Critic::Annotation::effective_range
511196┬Ás96┬ÁsPerl::Critic::Annotation::::disables_all_policiesPerl::Critic::Annotation::disables_all_policies
11115┬Ás15┬ÁsPerl::Critic::Annotation::::BEGIN@10Perl::Critic::Annotation::BEGIN@10
11110┬Ás16┬ÁsPerl::Critic::Annotation::::BEGIN@17Perl::Critic::Annotation::BEGIN@17
1118┬Ás378┬ÁsPerl::Critic::Annotation::::BEGIN@15Perl::Critic::Annotation::BEGIN@15
1117┬Ás26┬ÁsPerl::Critic::Annotation::::BEGIN@19Perl::Critic::Annotation::BEGIN@19
1117┬Ás28┬ÁsPerl::Critic::Annotation::::BEGIN@14Perl::Critic::Annotation::BEGIN@14
1117┬Ás18┬ÁsPerl::Critic::Annotation::::BEGIN@11Perl::Critic::Annotation::BEGIN@11
1117┬Ás314┬ÁsPerl::Critic::Annotation::::BEGIN@18Perl::Critic::Annotation::BEGIN@18
1117┬Ás11┬ÁsPerl::Critic::Annotation::::BEGIN@12Perl::Critic::Annotation::BEGIN@12
0000s0sPerl::Critic::Annotation::::disables_linePerl::Critic::Annotation::disables_line
0000s0sPerl::Critic::Annotation::::disables_policyPerl::Critic::Annotation::disables_policy
0000s0sPerl::Critic::Annotation::::elementPerl::Critic::Annotation::element
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1##############################################################################
2# $URL$
3# $Date$
4# $Author$
5# $Revision$
6##############################################################################
7
8package Perl::Critic::Annotation;
9
10242┬Ás115┬Ás
# spent 15┬Ás within Perl::Critic::Annotation::BEGIN@10 which was called: # once (15┬Ás+0s) by Perl::Critic::Document::BEGIN@24 at line 10
use 5.006001;
# spent 15┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@10
11219┬Ás228┬Ás
# spent 18┬Ás (7+11) within Perl::Critic::Annotation::BEGIN@11 which was called: # once (7┬Ás+11┬Ás) by Perl::Critic::Document::BEGIN@24 at line 11
use strict;
# spent 18┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@11 # spent 11┬Ás making 1 call to strict::import
12223┬Ás216┬Ás
# spent 11┬Ás (7+5) within Perl::Critic::Annotation::BEGIN@12 which was called: # once (7┬Ás+5┬Ás) by Perl::Critic::Document::BEGIN@24 at line 12
use warnings;
# spent 11┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@12 # spent 5┬Ás making 1 call to warnings::import
13
14225┬Ás249┬Ás
# spent 28┬Ás (7+21) within Perl::Critic::Annotation::BEGIN@14 which was called: # once (7┬Ás+21┬Ás) by Perl::Critic::Document::BEGIN@24 at line 14
use Carp qw(confess);
# spent 28┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@14 # spent 21┬Ás making 1 call to Exporter::import
15224┬Ás2749┬Ás
# spent 378┬Ás (8+371) within Perl::Critic::Annotation::BEGIN@15 which was called: # once (8┬Ás+371┬Ás) by Perl::Critic::Document::BEGIN@24 at line 15
use English qw(-no_match_vars);
# spent 378┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@15 # spent 371┬Ás making 1 call to English::import
16
17223┬Ás222┬Ás
# spent 16┬Ás (10+6) within Perl::Critic::Annotation::BEGIN@17 which was called: # once (10┬Ás+6┬Ás) by Perl::Critic::Document::BEGIN@24 at line 17
use Perl::Critic::PolicyFactory;
# spent 16┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@17 # spent 6┬Ás making 1 call to Perl::Critic::PolicyFactory::import
18223┬Ás2620┬Ás
# spent 314┬Ás (7+307) within Perl::Critic::Annotation::BEGIN@18 which was called: # once (7┬Ás+307┬Ás) by Perl::Critic::Document::BEGIN@24 at line 18
use Perl::Critic::Utils qw(:characters hashify);
# spent 314┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@18 # spent 307┬Ás making 1 call to Exporter::import
192828┬Ás246┬Ás
# spent 26┬Ás (7+19) within Perl::Critic::Annotation::BEGIN@19 which was called: # once (7┬Ás+19┬Ás) by Perl::Critic::Document::BEGIN@24 at line 19
use Readonly;
# spent 26┬Ás making 1 call to Perl::Critic::Annotation::BEGIN@19 # spent 19┬Ás making 1 call to Exporter::import
20
21#-----------------------------------------------------------------------------
22
231600nsour $VERSION = '1.121';
24
2512┬Ás131┬ÁsReadonly::Scalar my $LAST_ELEMENT => -1;
# spent 31┬Ás making 1 call to Readonly::Scalar
26
27#=============================================================================
28# CLASS methods
29
30
# spent 1.77s (14.3ms+1.76) within Perl::Critic::Annotation::create_annotations which was called 144 times, avg 12.3ms/call: # 144 times (14.3ms+1.76s) by Perl::Critic::Document::process_annotations at line 403 of Perl/Critic/Document.pm, avg 12.3ms/call
sub create_annotations {
3114473┬Ás my ($class, $doc) = @_;
32
33144113┬Ás my @annotations = ();
34144340┬Ás1441.66s my $comment_elements_ref = $doc->find('PPI::Token::Comment') || return;
# spent 1.66s making 144 calls to Perl::Critic::Document::find, avg 11.6ms/call
35144803┬Ás144402┬Ás my $annotation_rx = qr{\A (?: [#]! .*? )? \s* [#][#] \s* no \s+ critic}xms;
# spent 402┬Ás making 144 calls to Perl::Critic::Annotation::CORE:qr, avg 3┬Ás/call
36205417.0ms573012.4ms for my $annotation_element ( grep { $_ =~ $annotation_rx } @{$comment_elements_ref} ) {
# spent 7.63ms making 1910 calls to Perl::Critic::Annotation::CORE:match, avg 4┬Ás/call # spent 3.00ms making 1910 calls to PPI::Token::content, avg 2┬Ás/call # spent 1.76ms making 1910 calls to Perl::Critic::Annotation::CORE:regcomp, avg 924ns/call
3751178┬Ás5186.1ms push @annotations, Perl::Critic::Annotation->new( -element => $annotation_element);
# spent 86.1ms making 51 calls to Perl::Critic::Annotation::new, avg 1.69ms/call
38 }
39
40144586┬Ás return @annotations;
41}
42
43#-----------------------------------------------------------------------------
44
45
# spent 86.1ms (429┬Ás+85.7) within Perl::Critic::Annotation::new which was called 51 times, avg 1.69ms/call: # 51 times (429┬Ás+85.7ms) by Perl::Critic::Annotation::create_annotations at line 37, avg 1.69ms/call
sub new {
465154┬Ás my ($class, @args) = @_;
475199┬Ás my $self = bless {}, $class;
4851109┬Ás5185.7ms $self->_init(@args);
# spent 85.7ms making 51 calls to Perl::Critic::Annotation::_init, avg 1.68ms/call
4951131┬Ás return $self;
50}
51
52#=============================================================================
53# OBJECT methods
54
55
# spent 85.7ms (4.92+80.8) within Perl::Critic::Annotation::_init which was called 51 times, avg 1.68ms/call: # 51 times (4.92ms+80.8ms) by Perl::Critic::Annotation::new at line 48, avg 1.68ms/call
sub _init {
565148┬Ás my ($self, %args) = @_;
5751201┬Ás5133┬Ás my $annotation_element = $args{-element} || confess '-element argument is required';
# spent 33┬Ás making 51 calls to PPI::Util::TRUE, avg 639ns/call
585144┬Ás $self->{_element} = $annotation_element;
59
6051159┬Ás5153.0ms my %disabled_policies = _parse_annotation( $annotation_element );
# spent 53.0ms making 51 calls to Perl::Critic::Annotation::_parse_annotation, avg 1.04ms/call
615150┬Ás $self->{_disables_all_policies} = %disabled_policies ? 0 : 1;
625133┬Ás $self->{_disabled_policies} = \%disabled_policies;
63
64 # Grab surrounding nodes to determine the context.
65 # This determines whether the annotation applies to
66 # the current line or the block that follows.
6751141┬Ás51710┬Ás my $annotation_line = $annotation_element->logical_line_number();
# spent 710┬Ás making 51 calls to PPI::Element::logical_line_number, avg 14┬Ás/call
685199┬Ás51315┬Ás my $parent = $annotation_element->parent();
# spent 315┬Ás making 51 calls to PPI::Element::parent, avg 6┬Ás/call
6951266┬Ás102209┬Ás my $grandparent = $parent ? $parent->parent() : undef;
# spent 171┬Ás making 51 calls to PPI::Element::parent, avg 3┬Ás/call # spent 38┬Ás making 51 calls to PPI::Util::TRUE, avg 735ns/call
70
71 # Handle case when it appears on the shebang line. In this
72 # situation, it only affects the first line, not the whole doc
7351200┬Ás102317┬Ás if ( $annotation_element =~ m{\A [#]!}xms) {
# spent 236┬Ás making 51 calls to Perl::Critic::Annotation::CORE:match, avg 5┬Ás/call # spent 81┬Ás making 51 calls to PPI::Token::content, avg 2┬Ás/call
74 $self->{_effective_range} = [$annotation_line, $annotation_line];
75 return $self;
76 }
77
78 # Handle single-line usage on simple statements. In this
79 # situation, it only affects the line that it appears on.
805189┬Ás517.61ms if ( _is_single_line_annotation_on_simple_statement( $annotation_element )
# spent 7.61ms making 51 calls to Perl::Critic::Annotation::_is_single_line_annotation_on_simple_statement, avg 149┬Ás/call
81 ) {
823238┬Ás $self->{_effective_range} = [$annotation_line, $annotation_line];
8332103┬Ás return $self;
84 }
85
86 # Handle single-line usage on compound statements. In this
87 # situation -- um -- I'm not sure how this works, but it does.
881922┬Ás if ( ref $parent eq 'PPI::Structure::Block' ) {
89139┬Ás if ( ref $grandparent eq 'PPI::Statement::Compound'
90 || ref $grandparent eq 'PPI::Statement::Sub' ) {
911219┬Ás12290┬Ás if ( $parent->logical_line_number() == $annotation_line ) {
# spent 290┬Ás making 12 calls to PPI::Element::logical_line_number, avg 24┬Ás/call
92617┬Ás6104┬Ás my $grandparent_line = $grandparent->logical_line_number();
# spent 104┬Ás making 6 calls to PPI::Element::logical_line_number, avg 17┬Ás/call
9367┬Ás $self->{_effective_range} = [$grandparent_line, $grandparent_line];
94623┬Ás return $self;
95 }
96 }
97 }
98
99
100 # Handle multi-line usage. This is either a "no critic" ..
101 # "use critic" region or a block where "no critic" is in effect
102 # until the end of the scope. The start is the always the "no
103 # critic" which we already found. So now we have to search for the end.
104134┬Ás my $end = $annotation_element;
1051353┬Ás1323┬Ás my $use_critic = qr{\A \s* [#][#] \s* use \s+ critic}xms;
# spent 23┬Ás making 13 calls to Perl::Critic::Annotation::CORE:qr, avg 2┬Ás/call
106
107 SIB:
10813774┬Ás42417.5ms while ( my $esib = $end->next_sibling() ) {
# spent 17.4ms making 216 calls to PPI::Element::next_sibling, avg 80┬Ás/call # spent 110┬Ás making 208 calls to PPI::Util::TRUE, avg 528ns/call
10920829┬Ás $end = $esib; # keep track of last sibling encountered in this scope
110208736┬Ás277375┬Ás last SIB if $esib->isa('PPI::Token::Comment') && $esib =~ $use_critic;
# spent 209┬Ás making 208 calls to UNIVERSAL::isa, avg 1┬Ás/call # spent 103┬Ás making 23 calls to Perl::Critic::Annotation::CORE:match, avg 4┬Ás/call # spent 35┬Ás making 23 calls to PPI::Token::content, avg 2┬Ás/call # spent 28┬Ás making 23 calls to Perl::Critic::Annotation::CORE:regcomp, avg 1┬Ás/call
111 }
112
113 # PPI parses __END__ as a PPI::Statement::End, and everything following is
114 # a child of that statement. That means if we encounter an __END__, we
115 # need to descend into it and continue the analysis.
1161364┬Ás1724┬Ás if ( $end->isa( 'PPI::Statement::End' ) and my $kid = $end->child( 0 ) ) {
# spent 18┬Ás making 13 calls to UNIVERSAL::isa, avg 1┬Ás/call # spent 5┬Ás making 2 calls to PPI::Node::child, avg 2┬Ás/call # spent 1┬Ás making 2 calls to PPI::Util::TRUE, avg 550ns/call
1172500ns $end = $kid;
118 SIB:
119236┬Ás18200┬Ás while ( my $esib = $end->next_sibling() ) {
# spent 196┬Ás making 10 calls to PPI::Element::next_sibling, avg 20┬Ás/call # spent 4┬Ás making 8 calls to PPI::Util::TRUE, avg 500ns/call
12081┬Ás $end = $esib;
121823┬Ás88┬Ás last SIB if $esib->isa( 'PPI::Token::Comment' ) &&
# spent 8┬Ás making 8 calls to UNIVERSAL::isa, avg 963ns/call
122 $esib->content() =~ $use_critic;
123 }
124 }
125
126 # We either found an end or hit the end of the scope.
1271328┬Ás13121┬Ás my $ending_line = $end->logical_line_number();
# spent 121┬Ás making 13 calls to PPI::Element::logical_line_number, avg 9┬Ás/call
1281316┬Ás $self->{_effective_range} = [$annotation_line, $ending_line];
1291352┬Ás return $self;
130}
131
132#-----------------------------------------------------------------------------
133
134sub element {
135 my ($self) = @_;
136 return $self->{_element};
137}
138
139#-----------------------------------------------------------------------------
140
141
# spent 104┬Ás within Perl::Critic::Annotation::effective_range which was called 51 times, avg 2┬Ás/call: # 51 times (104┬Ás+0s) by Perl::Critic::Document::add_annotation at line 435 of Perl/Critic/Document.pm, avg 2┬Ás/call
sub effective_range {
1425114┬Ás my $self = shift;
14351139┬Ás return @{ $self->{_effective_range} };
144}
145
146#-----------------------------------------------------------------------------
147
148
# spent 152┬Ás within Perl::Critic::Annotation::disabled_policies which was called 51 times, avg 3┬Ás/call: # 51 times (152┬Ás+0s) by Perl::Critic::Document::add_annotation at line 436 of Perl/Critic/Document.pm, avg 3┬Ás/call
sub disabled_policies {
1495113┬Ás my $self = shift;
15051180┬Ás return keys %{ $self->{_disabled_policies} };
151}
152
153#-----------------------------------------------------------------------------
154
155sub disables_policy {
156 my ($self, $policy_name) = @_;
157 return 1 if $self->{_disabled_policies}->{$policy_name};
158 return 1 if $self->disables_all_policies();
159 return 0;
160}
161
162#-----------------------------------------------------------------------------
163
164
# spent 96┬Ás within Perl::Critic::Annotation::disables_all_policies which was called 51 times, avg 2┬Ás/call: # 51 times (96┬Ás+0s) by Perl::Critic::Document::add_annotation at line 436 of Perl/Critic/Document.pm, avg 2┬Ás/call
sub disables_all_policies {
1655115┬Ás my ($self) = @_;
16651110┬Ás return $self->{_disables_all_policies};
167}
168
169#-----------------------------------------------------------------------------
170
171sub disables_line {
172 my ($self, $line_number) = @_;
173 my $effective_range = $self->{_effective_range};
174 return 1 if $line_number >= $effective_range->[0]
175 and $line_number <= $effective_range->[$LAST_ELEMENT];
176 return 0;
177}
178
179#-----------------------------------------------------------------------------
180
181# Recognize a single-line annotation on a simple statement.
182
# spent 7.61ms (953┬Ás+6.66) within Perl::Critic::Annotation::_is_single_line_annotation_on_simple_statement which was called 51 times, avg 149┬Ás/call: # 51 times (953┬Ás+6.66ms) by Perl::Critic::Annotation::_init at line 80, avg 149┬Ás/call
sub _is_single_line_annotation_on_simple_statement {
1835118┬Ás my ( $annotation_element ) = @_;
1845187┬Ás51410┬Ás my $annotation_line = $annotation_element->logical_line_number();
# spent 410┬Ás making 51 calls to PPI::Element::logical_line_number, avg 8┬Ás/call
185
186 # If there is no sibling, we are clearly not a single-line annotation of
187 # any sort.
18851252┬Ás925.06ms my $sib = $annotation_element->sprevious_sibling()
# spent 5.04ms making 51 calls to PPI::Element::sprevious_sibling, avg 99┬Ás/call # spent 27┬Ás making 41 calls to PPI::Util::TRUE, avg 654ns/call
189 or return 0;
190
191 # The easy case: the sibling (whatever it is) is on the same line as the
192 # annotation.
19341138┬Ás41660┬Ás $sib->logical_line_number() == $annotation_line
# spent 660┬Ás making 41 calls to PPI::Element::logical_line_number, avg 16┬Ás/call
194 and return 1;
195
196 # If the sibling is a node, we may have an annotation on one line of a
197 # statement that was split over multiple lines. So we descend through the
198 # children, keeping the last significant child of each, until we bottom
199 # out. If the ultimate significant descendant is on the same line as the
200 # annotation, we accept the annotation as a single-line annotation.
2011280┬Ás24171┬Ás if ( $sib->isa( 'PPI::Node' ) &&
# spent 150┬Ás making 12 calls to PPI::Element::logical_line_number, avg 12┬Ás/call # spent 21┬Ás making 12 calls to UNIVERSAL::isa, avg 2┬Ás/call
202 $sib->logical_line_number() < $annotation_line
203 ) {
204123┬Ás my $neighbor = $sib;
20512165┬Ás60248┬Ás while ( $neighbor->isa( 'PPI::Node' )
# spent 212┬Ás making 16 calls to PPI::Node::schild, avg 13┬Ás/call # spent 26┬Ás making 28 calls to UNIVERSAL::isa, avg 939ns/call # spent 10┬Ás making 16 calls to PPI::Util::TRUE, avg 625ns/call
206 and my $kid = $neighbor->schild( $LAST_ELEMENT ) ) {
207 $neighbor = $kid;
208 }
2091263┬Ás24107┬Ás if ( $neighbor &&
# spent 101┬Ás making 12 calls to PPI::Element::logical_line_number, avg 8┬Ás/call # spent 6┬Ás making 12 calls to PPI::Util::TRUE, avg 517ns/call
210 $neighbor->logical_line_number() == $annotation_line
211 ) {
212 return 1;
213 }
214 }
215
216 # We do not understand any other sort of single-line annotation. Accepting
217 # the annotation as such (if it is) is Someone Else's Problem.
218921┬Ás return 0;
219}
220
221#-----------------------------------------------------------------------------
222
223
# spent 53.0ms (43.8+9.28) within Perl::Critic::Annotation::_parse_annotation which was called 51 times, avg 1.04ms/call: # 51 times (43.8ms+9.28ms) by Perl::Critic::Annotation::_init at line 60, avg 1.04ms/call
sub _parse_annotation {
224
2255117┬Ás my ($annotation_element) = @_;
226
227 #############################################################################
228 # This regex captures the list of Policy name patterns that are to be
229 # disabled. It is generally assumed that the element has already been
230 # verified as a no-critic annotation. So if this regex does not match,
231 # then it implies that all Policies are to be disabled.
232 #
23351178┬Ás5169┬Ás my $no_critic = qr{\#\# \s* no \s+ critic \s* (?:qw)? [("'] ([\s\w:,]+) }xms;
# spent 69┬Ás making 51 calls to Perl::Critic::Annotation::CORE:qr, avg 1┬Ás/call
234 # -------------------------- ------- ----- -----------
235 # | | | |
236 # "## no critic" with optional spaces | | |
237 # | | |
238 # Policy list may be prefixed with "qw" | |
239 # | |
240 # Optional Policy list must begin with one of these |
241 # |
242 # Capture entire Policy list (with delimiters) here
243 #
244 #############################################################################
245
2465123┬Ás my @disabled_policy_names = ();
24751557┬Ás153510┬Ás if ( my ($patterns_string) = $annotation_element =~ $no_critic ) {
# spent 358┬Ás making 51 calls to Perl::Critic::Annotation::CORE:match, avg 7┬Ás/call # spent 77┬Ás making 51 calls to PPI::Token::content, avg 2┬Ás/call # spent 75┬Ás making 51 calls to Perl::Critic::Annotation::CORE:regcomp, avg 1┬Ás/call
248
249 # Compose the specified modules into a regex alternation. Wrap each
250 # in a no-capturing group to permit "|" in the modules specification.
251
25251387┬Ás59130┬Ás my @policy_name_patterns = grep { $_ ne $EMPTY }
# spent 130┬Ás making 59 calls to Readonly::Scalar::FETCH, avg 2┬Ás/call
253 split m{\s *[,\s] \s*}xms, $patterns_string;
25451240┬Ás5164┬Ás my $re = join $PIPE, map {"(?:$_)"} @policy_name_patterns;
# spent 64┬Ás making 51 calls to Readonly::Scalar::FETCH, avg 1┬Ás/call
25551572┬Ás512.09ms my @site_policy_names = Perl::Critic::PolicyFactory::site_policy_names();
# spent 2.09ms making 51 calls to Perl::Critic::PolicyFactory::site_policy_names, avg 41┬Ás/call
256724243.9ms143826.30ms @disabled_policy_names = grep {m/$re/ixms} @site_policy_names;
# spent 3.94ms making 7191 calls to Perl::Critic::Annotation::CORE:match, avg 548ns/call # spent 2.36ms making 7191 calls to Perl::Critic::Annotation::CORE:regcomp, avg 329ns/call
257
258 # It is possible that the Policy patterns listed in the annotation do not
259 # match any of the site policy names. This could happen when running
260 # on a machine that does not have the same set of Policies as the author.
261 # So we must return something here, otherwise all Policies will be
262 # disabled. We probably need to add a mechanism to (optionally) warn
263 # about this, just to help the author avoid writing invalid Policy names.
264
26551214┬Ás if (not @disabled_policy_names) {
266 @disabled_policy_names = @policy_name_patterns;
267 }
268 }
269
27051288┬Ás51190┬Ás return hashify(@disabled_policy_names);
# spent 190┬Ás making 51 calls to Perl::Critic::Utils::hashify, avg 4┬Ás/call
271}
272
273#-----------------------------------------------------------------------------
274
27513┬Ás1;
276
277__END__
 
# spent 12.3ms (9.07+3.20) within Perl::Critic::Annotation::CORE:match which was called 9226 times, avg 1┬Ás/call: # 7191 times (3.94ms+0s) by Perl::Critic::Annotation::_parse_annotation at line 256, avg 548ns/call # 1910 times (4.63ms+3.00ms) by Perl::Critic::Annotation::create_annotations at line 36, avg 4┬Ás/call # 51 times (280┬Ás+77┬Ás) by Perl::Critic::Annotation::_parse_annotation at line 247, avg 7┬Ás/call # 51 times (155┬Ás+81┬Ás) by Perl::Critic::Annotation::_init at line 73, avg 5┬Ás/call # 23 times (68┬Ás+35┬Ás) by Perl::Critic::Annotation::_init at line 110, avg 4┬Ás/call
sub Perl::Critic::Annotation::CORE:match; # opcode
# spent 495┬Ás within Perl::Critic::Annotation::CORE:qr which was called 208 times, avg 2┬Ás/call: # 144 times (402┬Ás+0s) by Perl::Critic::Annotation::create_annotations at line 35, avg 3┬Ás/call # 51 times (69┬Ás+0s) by Perl::Critic::Annotation::_parse_annotation at line 233, avg 1┬Ás/call # 13 times (23┬Ás+0s) by Perl::Critic::Annotation::_init at line 105, avg 2┬Ás/call
sub Perl::Critic::Annotation::CORE:qr; # opcode
# spent 4.23ms within Perl::Critic::Annotation::CORE:regcomp which was called 9175 times, avg 461ns/call: # 7191 times (2.36ms+0s) by Perl::Critic::Annotation::_parse_annotation at line 256, avg 329ns/call # 1910 times (1.76ms+0s) by Perl::Critic::Annotation::create_annotations at line 36, avg 924ns/call # 51 times (75┬Ás+0s) by Perl::Critic::Annotation::_parse_annotation at line 247, avg 1┬Ás/call # 23 times (28┬Ás+0s) by Perl::Critic::Annotation::_init at line 110, avg 1┬Ás/call
sub Perl::Critic::Annotation::CORE:regcomp; # opcode