Profile of /usr/local/lib/perl5/site_perl/5.10.1/B/Hooks/EndOfScope.pm

← Index
NYTProf Performance Profile «block view•line view•sub view»
For 05.Domain_and_Item.t
Run on Tue May 4 17:21:41 2010
Reported on Tue May 4 17:22:20 2010

File | /usr/local/lib/perl5/site_perl/5.10.1/B/Hooks/EndOfScope.pm
Statements Executed | 52
Statement Execution Time | 519µs

Subroutines — ordered by exclusive time
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 547µs | 993µs | B::Hooks::EndOfScope::::BEGIN@7B::Hooks::EndOfScope::BEGIN@7
1 | 1 | 1 | 48µs | 48µs | B::Hooks::EndOfScope::::BEGIN@6B::Hooks::EndOfScope::BEGIN@6
4 | 1 | 1 | 40µs | 73µs | B::Hooks::EndOfScope::::on_scope_endB::Hooks::EndOfScope::on_scope_end
4 | 4 | 4 | 31µs | 3.04ms | B::Hooks::EndOfScope::::__ANON__[:47]B::Hooks::EndOfScope::__ANON__[:47]
1 | 1 | 1 | 21µs | 23µs | namespace::clean::::BEGIN@1 namespace::clean::BEGIN@1
1 | 1 | 1 | 11µs | 384µs | B::Hooks::EndOfScope::::BEGIN@11B::Hooks::EndOfScope::BEGIN@11
1 | 1 | 1 | 8µs | 16µs | namespace::clean::::BEGIN@2 namespace::clean::BEGIN@2
4 | 1 | 1 | 6µs | 6µs | B::Hooks::EndOfScope::::__ANON__[:46]B::Hooks::EndOfScope::__ANON__[:46]

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 | 3 | 21µs | 2 | 26µs | # spent 23µs (21+3) within namespace::clean::BEGIN@1 which was called # once (21µs+3µs) by namespace::clean::BEGIN@14 at line 1 use strict; # spent 23µs making 1 call to namespace::clean::BEGIN@1 # spent 3µs making 1 call to strict::import
2 | 3 | 29µs | 2 | 25µs | # spent 16µs (8+9) within namespace::clean::BEGIN@2 which was called # once (8µs+9µs) by namespace::clean::BEGIN@14 at line 2 use warnings; # spent 16µs making 1 call to namespace::clean::BEGIN@2 # spent 9µs making 1 call to warnings::import
3 |  |  |  |  |
4 |  |  |  |  | package B::Hooks::EndOfScope;
5 |  |  |  |  |
6 | 3 | 66µs | 1 | 48µs | # spent 48µs within B::Hooks::EndOfScope::BEGIN@6 which was called # once (48µs+0s) by namespace::clean::BEGIN@14 at line 6 use 5.008000; # spent 48µs making 1 call to B::Hooks::EndOfScope::BEGIN@6
7 | 3 | 127µs | 2 | 1.01ms | # spent 993µs (547+445) within B::Hooks::EndOfScope::BEGIN@7 which was called # once (547µs+445µs) by namespace::clean::BEGIN@14 at line 7 use Variable::Magic; # spent 993µs making 1 call to B::Hooks::EndOfScope::BEGIN@7 # spent 18µs making 1 call to Exporter::import
8 |  |  |  |  |
9 | 1 | 700ns |  |  | our $VERSION = '0.08';
10 |  |  |  |  |
11 |  |  |  |  | # spent 384µs (11+373) within B::Hooks::EndOfScope::BEGIN@11 which was called # once (11µs+373µs) by namespace::clean::BEGIN@14 at line 14 use Sub::Exporter -setup => { # spent 373µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:756]
12 |  |  |  |  | exports => ['on_scope_end'],
13 |  |  |  |  | groups => { default => ['on_scope_end'] },
14 | 3 | 164µs | 1 | 384µs | }; # spent 384µs making 1 call to B::Hooks::EndOfScope::BEGIN@11
15 |  |  |  |  |
16 |  |  |  |  | =head1 NAME
17 |  |  |  |  |
18 |  |  |  |  | B::Hooks::EndOfScope - Execute code after a scope finished compilation
19 |  |  |  |  |
20 |  |  |  |  | =head1 SYNOPSIS
21 |  |  |  |  |
22 |  |  |  |  | on_scope_end { ... };
23 |  |  |  |  |
24 |  |  |  |  | =head1 DESCRIPTION
25 |  |  |  |  |
26 |  |  |  |  | This module allows you to execute code when perl finished compiling the
27 |  |  |  |  | surrounding scope.
28 |  |  |  |  |
29 |  |  |  |  | =head1 FUNCTIONS
30 |  |  |  |  |
31 |  |  |  |  | =head2 on_scope_end
32 |  |  |  |  |
33 |  |  |  |  | on_scope_end { ... };
34 |  |  |  |  |
35 |  |  |  |  | on_scope_end $code;
36 |  |  |  |  |
37 |  |  |  |  | Registers C<$code> to be executed after the surrounding scope has been
38 |  |  |  |  | compiled.
39 |  |  |  |  |
40 |  |  |  |  | This is exported by default. See L<Sub::Exporter> on how to customize it.
41 |  |  |  |  |
42 |  |  |  |  | =cut
43 |  |  |  |  |
44 |  |  |  |  | {
45 | 1 | 400ns |  |  | my $wiz = Variable::Magic::wizard
46 | 4 | 11µs |  |  | # spent 6µs within B::Hooks::EndOfScope::__ANON__[/usr/local/lib/perl5/site_perl/5.10.1/B/Hooks/EndOfScope.pm:46] which was called 4 times, avg 2µs/call: # 4 times (6µs+0s) by Variable::Magic::cast at line 58, avg 2µs/call data => sub { [$_[1]] },
47 | 13 | 33µs | 5 | 3.05ms | # spent 3.04ms (31µs+3.01) within B::Hooks::EndOfScope::__ANON__[/usr/local/lib/perl5/site_perl/5.10.1/B/Hooks/EndOfScope.pm:47] which was called 4 times, avg 761µs/call: # once (8µs+1.95ms) by MooseX::Types::BEGIN@12 at line 290 of MooseX/Types/Base.pm # once (8µs+614µs) by SimpleDB::Class::Types::BEGIN@77 at line 609 of MooseX/Types.pm # once (8µs+359µs) by SimpleDB::Class::Types::BEGIN@83 at line 83 of MooseX/Types/Moose.pm # once (7µs+86µs) by MooseX::Types::BEGIN@15 at line 101 of MooseX/Types/CheckedUtilExports.pm free => sub { $_->() for @{ $_[1] }; () }; # spent 3.01ms making 4 calls to namespace::clean::__ANON__[namespace/clean.pm:275], avg 753µs/call # spent 38µs making 1 call to Variable::Magic::wizard
48 |  |  |  |  |
49 |  |  |  |  | # spent 73µs (40+33) within B::Hooks::EndOfScope::on_scope_end which was called 4 times, avg 18µs/call: # 4 times (40µs+33µs) by namespace::clean::import at line 275 of namespace/clean.pm, avg 18µs/call sub on_scope_end (&) {
50 | 16 | 47µs |  |  | my $cb = shift;
51 |  |  |  |  |
52 |  |  |  |  | $^H |= 0x020000;
53 |  |  |  |  |
54 |  |  |  |  | if (my $stack = Variable::Magic::getdata %^H, $wiz) { # spent 4µs making 4 calls to Variable::Magic::getdata, avg 900ns/call
55 |  |  |  |  | push @{ $stack }, $cb;
56 |  |  |  |  | }
57 |  |  |  |  | else {
58 | 1 | 14µs | 8 | 36µs | Variable::Magic::cast %^H, $wiz, $cb; # spent 29µs making 4 calls to Variable::Magic::cast, avg 7µs/call # spent 6µs making 4 calls to B::Hooks::EndOfScope::__ANON__[B/Hooks/EndOfScope.pm:46], avg 2µs/call
59 |  |  |  |  | }
60 |  |  |  |  | }
61 |  |  |  |  | }
62 |  |  |  |  |
63 |  |  |  |  | =head1 SEE ALSO
64 |  |  |  |  |
65 |  |  |  |  | L<Sub::Exporter>
66 |  |  |  |  |
67 |  |  |  |  | L<Variable::Magic>
68 |  |  |  |  |
69 |  |  |  |  | =head1 AUTHOR
70 |  |  |  |  |
71 |  |  |  |  | Florian Ragwitz E<lt>rafl@debian.orgE<gt>
72 |  |  |  |  |
73 |  |  |  |  | =head1 COPYRIGHT AND LICENSE
74 |  |  |  |  |
75 |  |  |  |  | Copyright (c) 2008 Florian Ragwitz
76 |  |  |  |  |
77 |  |  |  |  | This module is free software.
78 |  |  |  |  |
79 |  |  |  |  | You may distribute this code under the same terms as Perl itself.
80 |  |  |  |  |
81 |  |  |  |  | =cut
82 |  |  |  |  |
83 | 1 | 7µs |  |  | 1;