← Index
NYTProf Performance Profile   « line view »
For svc/members/upsert
  Run on Tue Jan 13 11:50:22 2015
Reported on Tue Jan 13 12:09:47 2015

Filename/usr/share/perl5/B/Hooks/EndOfScope/XS.pm
StatementsExecuted 20 statements in 1.10ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.59ms1.76msB::Hooks::EndOfScope::XS::::BEGIN@19B::Hooks::EndOfScope::XS::BEGIN@19
11112µs24µsB::Hooks::EndOfScope::XS::::on_scope_endB::Hooks::EndOfScope::XS::on_scope_end
11110µs10µsB::Hooks::EndOfScope::XS::::BEGIN@5B::Hooks::EndOfScope::XS::BEGIN@5
1117µs11µsB::Hooks::EndOfScope::XS::::BEGIN@11B::Hooks::EndOfScope::XS::BEGIN@11
1116µs1.92msB::Hooks::EndOfScope::XS::::BEGIN@13B::Hooks::EndOfScope::XS::BEGIN@13
1116µs246µsB::Hooks::EndOfScope::XS::::__ANON__[:26]B::Hooks::EndOfScope::XS::__ANON__[:26]
1116µs16µsB::Hooks::EndOfScope::XS::::BEGIN@10B::Hooks::EndOfScope::XS::BEGIN@10
1112µs2µsB::Hooks::EndOfScope::XS::::__ANON__[:25]B::Hooks::EndOfScope::XS::__ANON__[:25]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package B::Hooks::EndOfScope::XS;
2{
32800ns $B::Hooks::EndOfScope::XS::VERSION = '0.13';
4}
5
# spent 10µs within B::Hooks::EndOfScope::XS::BEGIN@5 which was called: # once (10µs+0s) by Module::Runtime::require_module at line 7
BEGIN {
615µs $B::Hooks::EndOfScope::XS::AUTHORITY = 'cpan:FLORA';
7120µs110µs}
# spent 10µs making 1 call to B::Hooks::EndOfScope::XS::BEGIN@5
8# ABSTRACT: Execute code after a scope finished compilation - XS implementation
9
10220µs226µs
# spent 16µs (6+10) within B::Hooks::EndOfScope::XS::BEGIN@10 which was called: # once (6µs+10µs) by Module::Runtime::require_module at line 10
use strict;
# spent 16µs making 1 call to B::Hooks::EndOfScope::XS::BEGIN@10 # spent 10µs making 1 call to strict::import
11233µs215µs
# spent 11µs (7+4) within B::Hooks::EndOfScope::XS::BEGIN@11 which was called: # once (7µs+4µs) by Module::Runtime::require_module at line 11
use warnings;
# spent 11µs making 1 call to B::Hooks::EndOfScope::XS::BEGIN@11 # spent 4µs making 1 call to warnings::import
12
13
# spent 1.92ms (6µs+1.91) within B::Hooks::EndOfScope::XS::BEGIN@13 which was called: # once (6µs+1.91ms) by Module::Runtime::require_module at line 17
BEGIN {
141300ns require Module::Runtime;
15 # Adjust the Makefile.PL if changing this minimum version
1613µs11.91ms Module::Runtime::use_module('Variable::Magic', '0.48');
# spent 1.91ms making 1 call to Module::Runtime::use_module
17136µs11.92ms}
# spent 1.92ms making 1 call to B::Hooks::EndOfScope::XS::BEGIN@13
18
1918µs172µs
# spent 1.76ms (1.59+170µs) within B::Hooks::EndOfScope::XS::BEGIN@19 which was called: # once (1.59ms+170µs) by Module::Runtime::require_module at line 22
use Sub::Exporter::Progressive -setup => {
# spent 72µs making 1 call to Sub::Exporter::Progressive::import
20 exports => ['on_scope_end'],
21 groups => { default => ['on_scope_end'] },
221937µs11.76ms};
# spent 1.76ms making 1 call to B::Hooks::EndOfScope::XS::BEGIN@19
23
24my $wiz = Variable::Magic::wizard
2514µs
# spent 2µs within B::Hooks::EndOfScope::XS::__ANON__[/usr/share/perl5/B/Hooks/EndOfScope/XS.pm:25] which was called: # once (2µs+0s) by Variable::Magic::cast at line 45
data => sub { [$_[1]] },
2625µs1239µs
# spent 246µs (6+239) within B::Hooks::EndOfScope::XS::__ANON__[/usr/share/perl5/B/Hooks/EndOfScope/XS.pm:26] which was called: # once (6µs+239µs) by DateTime::TimeZone::Local::BEGIN@6 at line 208 of Class/Load.pm
free => sub { $_->() for @{ $_[1] }; () },
# spent 239µs making 1 call to namespace::clean::__ANON__[namespace/clean.pm:316]
27 # When someone localise %^H, our magic doesn't want to be copied
28 # down. We want it to be around only for the scope we've initially
29 # attached ourselfs to. Merely having MGf_LOCAL and a noop svt_local
30 # callback achieves this. If anything wants to attach more magic of our
31 # kind to a localised %^H, things will continue to just work as we'll be
32 # attached with a new and empty callback list.
3314µs126µs local => \undef
# spent 26µs making 1 call to Variable::Magic::wizard
34;
35
36
# spent 24µs (12+12) within B::Hooks::EndOfScope::XS::on_scope_end which was called: # once (12µs+12µs) by namespace::clean::import at line 316 of namespace/clean.pm
sub on_scope_end (&) {
371200ns my $cb = shift;
38
391900ns $^H |= 0x020000;
40
41110µs11µs if (my $stack = Variable::Magic::getdata %^H, $wiz) {
# spent 1µs making 1 call to Variable::Magic::getdata
42 push @{ $stack }, $cb;
43 }
44 else {
45110µs212µs Variable::Magic::cast %^H, $wiz, $cb;
# spent 10µs making 1 call to Variable::Magic::cast # spent 2µs making 1 call to B::Hooks::EndOfScope::XS::__ANON__[B/Hooks/EndOfScope/XS.pm:25]
46 }
47}
48
- -
5113µs1;
52
53__END__