← 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:31:06 2016
Reported on Fri Jan 8 14:31:36 2016

Filename/usr/share/perl5/Devel/GlobalDestruction.pm
StatementsExecuted 12 statements in 397µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11123µs126µsDevel::GlobalDestruction::::BEGIN@8Devel::GlobalDestruction::BEGIN@8
11113µs20µsDevel::GlobalDestruction::::BEGIN@3Devel::GlobalDestruction::BEGIN@3
11112µs22µsDevel::GlobalDestruction::::BEGIN@23Devel::GlobalDestruction::BEGIN@23
1118µs12µsDevel::GlobalDestruction::::BEGIN@4Devel::GlobalDestruction::BEGIN@4
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Devel::GlobalDestruction;
2
3237µs226µs
# spent 20µs (13+7) within Devel::GlobalDestruction::BEGIN@3 which was called: # once (13µs+7µs) by Moo::_Utils::BEGIN@14 at line 3
use strict;
# spent 20µs making 1 call to Devel::GlobalDestruction::BEGIN@3 # spent 7µs making 1 call to strict::import
4261µs216µs
# spent 12µs (8+4) within Devel::GlobalDestruction::BEGIN@4 which was called: # once (8µs+4µs) by Moo::_Utils::BEGIN@14 at line 4
use warnings;
# spent 12µs making 1 call to Devel::GlobalDestruction::BEGIN@4 # spent 4µs making 1 call to warnings::import
5
61400nsour $VERSION = '0.13';
7
81126µs1103µs
# spent 126µs (23+103) within Devel::GlobalDestruction::BEGIN@8 which was called: # once (23µs+103µs) by Moo::_Utils::BEGIN@14 at line 11
use Sub::Exporter::Progressive -setup => {
# spent 103µs making 1 call to Sub::Exporter::Progressive::import
9 exports => [ qw(in_global_destruction) ],
10 groups => { default => [ -all ] },
11156µs1126µs};
# spent 126µs making 1 call to Devel::GlobalDestruction::BEGIN@8
12
13# we run 5.14+ - everything is in core
14#
1511µsif (defined ${^GLOBAL_PHASE}) {
16129µs eval 'sub in_global_destruction () { ${^GLOBAL_PHASE} eq q[DESTRUCT] }; 1'
# spent 4.49ms executing statements in string eval
# includes 302µs spent executing 174 calls to 1 sub defined therein.
17 or die $@;
18}
19# try to load the xs version if it was compiled
20#
21elsif (eval {
22 require Devel::GlobalDestruction::XS;
23281µs231µs
# spent 22µs (12+10) within Devel::GlobalDestruction::BEGIN@23 which was called: # once (12µs+10µs) by Moo::_Utils::BEGIN@14 at line 23
no warnings 'once';
# spent 22µs making 1 call to Devel::GlobalDestruction::BEGIN@23 # spent 10µs making 1 call to warnings::unimport
24 *in_global_destruction = \&Devel::GlobalDestruction::XS::in_global_destruction;
25 1;
26}) {
27 # the eval already installed everything, nothing to do
28}
29else {
30 # internally, PL_main_cv is set to Nullcv immediately before entering
31 # global destruction and we can use B to detect that. B::main_cv will
32 # only ever be a B::CV or a B::SPECIAL that is a reference to 0
33 require B;
34 eval 'sub in_global_destruction () { ${B::main_cv()} == 0 }; 1'
35 or die $@;
36}
37
3815µs1; # keep require happy
39
40
41__END__