← Index
NYTProf Performance Profile   « line view »
For starman worker -M FindBin --max-requests 50 --workers 2 --user=kohadev-koha --group kohadev-koha --pid /var/run/koha/kohadev/plack.pid --daemonize --access-log /var/log/koha/kohadev/plack.log --error-log /var/log/koha/kohadev/plack-error.log -E deployment --socket /var/run/koha/kohadev/plack.sock /etc/koha/sites/kohadev/plack.psgi
  Run on Fri Jan 8 14:16:49 2016
Reported on Fri Jan 8 14:23:07 2016

Filename/usr/share/perl5/strictures.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
121211129µs360µsstrictures::::importstrictures::import
101010114µs225µsstrictures::::VERSIONstrictures::VERSION
11131µs40µsstrictures::::BEGIN@3strictures::BEGIN@3
11110µs28µsstrictures::::BEGIN@4strictures::BEGIN@4
11110µs10µsstrictures::::CORE:ftisstrictures::CORE:ftis (opcode)
1117µs22µsstrictures::::BEGIN@21strictures::BEGIN@21
1115µs5µsstrictures::::BEGIN@6strictures::BEGIN@6
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package strictures;
2
3249µs
# spent 40µs (31+9) within strictures::BEGIN@3 which was called: # once (31µs+9µs) by Sub::Quote::BEGIN@3 at line 3
use strict;
# spent 40µs making 1 call to strictures::BEGIN@3 # spent 9µs making 1 call to strict::import
4246µs
# spent 28µs (10+18) within strictures::BEGIN@4 which was called: # once (10µs+18µs) by Sub::Quote::BEGIN@3 at line 4
use warnings FATAL => 'all';
# spent 28µs making 1 call to strictures::BEGIN@4 # spent 18µs making 1 call to warnings::import
5
6
# spent 5µs within strictures::BEGIN@6 which was called: # once (5µs+0s) by Sub::Quote::BEGIN@3 at line 8
BEGIN {
7 *_PERL_LT_5_8_4 = ($] < 5.008004) ? sub(){1} : sub(){0};
815µs}
# spent 5µs making 1 call to strictures::BEGIN@6
9
10our $VERSION = '1.005005';
11
12
# spent 225µs (114+112) within strictures::VERSION which was called 10 times, avg 23µs/call: # once (18µs+19µs) by Sub::Quote::BEGIN@3 at line 3 of Sub/Quote.pm # once (21µs+16µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm # once (15µs+14µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm # once (12µs+13µs) by Moo::BEGIN@3 at line 3 of Moo.pm # once (9µs+12µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm # once (9µs+8µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm # once (8µs+8µs) by Moo::HandleMoose::_TypeMap::BEGIN@2 at line 2 of Moo/HandleMoose/_TypeMap.pm # once (8µs+8µs) by Moo::_mro::BEGIN@2 at line 2 of Moo/_mro.pm # once (7µs+7µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm # once (6µs+8µs) by Moo::_Utils::BEGIN@11 at line 11 of Moo/_Utils.pm
sub VERSION {
13 my ($class, $version) = @_;
14 for ($version) {
15 last unless defined && !ref && int != 1;
16 die "Major version specified as $_ - this is strictures version 1";
17 }
18 # passing undef here may either warn or die depending on the version of perl.
19 # we can't match the caller's warning state in this case, so just disable the
20 # warning.
21236µs
# spent 22µs (7+14) within strictures::BEGIN@21 which was called: # once (7µs+14µs) by Sub::Quote::BEGIN@3 at line 21
no warnings 'uninitialized';
# spent 22µs making 1 call to strictures::BEGIN@21 # spent 14µs making 1 call to warnings::unimport
2210112µs shift->SUPER::VERSION(@_);
# spent 112µs making 10 calls to version::vxs::_VERSION, avg 11µs/call
23}
24
25our $extra_load_states;
26
27110µsour $Smells_Like_VCS = (-e '.git' || -e '.svn' || -e '.hg'
# spent 10µs making 1 call to strictures::CORE:ftis
28 || (-e '../../dist.ini'
29 && (-e '../../.git' || -e '../../.svn' || -e '../../.hg' )));
30
31
# spent 360µs (129+231) within strictures::import which was called 12 times, avg 30µs/call: # once (25µs+33µs) by Moo::BEGIN@3 at line 3 of Moo.pm # once (15µs+31µs) by Moo::sification::BEGIN@3 at line 3 of Moo/sification.pm # once (14µs+30µs) by Method::Generate::Constructor::BEGIN@3 at line 3 of Method/Generate/Constructor.pm # once (10µs+21µs) by Method::Generate::Constructor::__ANON__[/usr/share/perl5/Method/Generate/Constructor.pm:202] at line 202 of Method/Generate/Constructor.pm # once (12µs+18µs) by DBIx::Class::Storage::BlockRunner::__ANON__[/usr/share/perl5/DBIx/Class/Storage/BlockRunner.pm:29] at line 29 of DBIx/Class/Storage/BlockRunner.pm # once (8µs+15µs) by Method::Generate::Accessor::BEGIN@3 at line 3 of Method/Generate/Accessor.pm # once (9µs+14µs) by Sub::Quote::BEGIN@3 at line 3 of Sub/Quote.pm # once (8µs+15µs) by Moo::Object::BEGIN@3 at line 3 of Moo/Object.pm # once (7µs+14µs) by Moo::_mro::BEGIN@2 at line 2 of Moo/_mro.pm # once (7µs+14µs) by Moo::HandleMoose::_TypeMap::BEGIN@2 at line 2 of Moo/HandleMoose/_TypeMap.pm # once (7µs+14µs) by Moo::_Utils::BEGIN@11 at line 11 of Moo/_Utils.pm # once (7µs+12µs) by Sub::Defer::BEGIN@3 at line 3 of Sub/Defer.pm
sub import {
3212100µs strict->import;
# spent 100µs making 12 calls to strict::import, avg 8µs/call
3312131µs warnings->import(FATAL => 'all');
# spent 131µs making 12 calls to warnings::import, avg 11µs/call
34
35 my $extra_tests = do {
36 if (exists $ENV{PERL_STRICTURES_EXTRA}) {
37 if (_PERL_LT_5_8_4 and $ENV{PERL_STRICTURES_EXTRA}) {
38 die 'PERL_STRICTURES_EXTRA checks are not available on perls older than 5.8.4: '
39 . "please unset \$ENV{PERL_STRICTURES_EXTRA}\n";
40 }
41 $ENV{PERL_STRICTURES_EXTRA};
42 } elsif (! _PERL_LT_5_8_4) {
43 !!((caller)[1] =~ /^(?:t|xt|lib|blib)/
44 and $Smells_Like_VCS)
45 }
46 };
47 if ($extra_tests) {
48 $extra_load_states ||= do {
49
50 my (%rv, @failed);
51 foreach my $mod (qw(indirect multidimensional bareword::filehandles)) {
52 eval "require $mod; \$rv{'$mod'} = 1;" or do {
53 push @failed, $mod;
54
55 # courtesy of the 5.8 require bug
56 # (we do a copy because 5.16.2 at least uses the same read-only
57 # scalars for the qw() list and it doesn't seem worth a $^V check)
58
59 (my $file = $mod) =~ s|::|/|g;
60 delete $INC{"${file}.pm"};
61 };
62 }
63
64 if (@failed) {
65 my $failed = join ' ', @failed;
66 print STDERR <<EOE;
67strictures.pm extra testing active but couldn't load all modules. Missing were:
68
69 $failed
70
71Extra testing is auto-enabled in checkouts only, so if you're the author
72of a strictures-using module you need to run:
73
74 cpan indirect multidimensional bareword::filehandles
75
76but these modules are not required by your users.
77EOE
78 }
79
80 \%rv;
81 };
82
83 indirect->unimport(':fatal') if $extra_load_states->{indirect};
84 multidimensional->unimport if $extra_load_states->{multidimensional};
85 bareword::filehandles->unimport if $extra_load_states->{'bareword::filehandles'};
86 }
87}
88
891;
90
91__END__
 
# spent 10µs within strictures::CORE:ftis which was called: # once (10µs+0s) by Sub::Quote::BEGIN@3 at line 27
sub strictures::CORE:ftis; # opcode