Filename | /usr/share/perl5/Import/Into.pm |
Statements | Executed 36 statements in 549µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
2 | 1 | 1 | 150µs | 176µs | _make_action | Import::Into::
2 | 1 | 1 | 24µs | 26µs | _prelude | Import::Into::
2 | 1 | 1 | 17µs | 279µs | into | import::
1 | 1 | 1 | 14µs | 21µs | BEGIN@3 | Import::Into::
1 | 1 | 1 | 10µs | 15µs | BEGIN@5 | Import::Into::
1 | 1 | 1 | 7µs | 14µs | BEGIN@4 | Import::Into::
2 | 1 | 1 | 2µs | 2µs | CORE:match (opcode) | Import::Into::
0 | 0 | 0 | 0s | 0s | out_of | unimport::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Import::Into; | ||||
2 | |||||
3 | 2 | 39µs | 2 | 27µs | # spent 21µs (14+6) within Import::Into::BEGIN@3 which was called:
# once (14µs+6µs) by Moo::BEGIN@5 at line 3 # spent 21µs making 1 call to Import::Into::BEGIN@3
# spent 6µs making 1 call to strict::import |
4 | 2 | 32µs | 2 | 22µs | # spent 14µs (7+8) within Import::Into::BEGIN@4 which was called:
# once (7µs+8µs) by Moo::BEGIN@5 at line 4 # spent 14µs making 1 call to Import::Into::BEGIN@4
# spent 8µs making 1 call to warnings::import |
5 | 2 | 288µs | 2 | 20µs | # spent 15µs (10+5) within Import::Into::BEGIN@5 which was called:
# once (10µs+5µs) by Moo::BEGIN@5 at line 5 # spent 15µs making 1 call to Import::Into::BEGIN@5
# spent 5µs making 1 call to Module::Runtime::import |
6 | |||||
7 | 1 | 400ns | our $VERSION = '1.002004'; | ||
8 | |||||
9 | # spent 26µs (24+2) within Import::Into::_prelude which was called 2 times, avg 13µs/call:
# 2 times (24µs+2µs) by Import::Into::_make_action at line 29, avg 13µs/call | ||||
10 | 2 | 700ns | my $target = shift; | ||
11 | my ($package, $file, $line, $level) | ||||
12 | 2 | 10µs | 2 | 2µs | = ref $target ? @{$target}{qw(package filename line)} # spent 2µs making 2 calls to Import::Into::CORE:match, avg 1µs/call |
13 | : $target =~ /[^0-9]/ ? ($target) | ||||
14 | : (undef, undef, undef, $target); | ||||
15 | 2 | 700ns | if (defined $level) { | ||
16 | 2 | 7µs | my ($p, $fn, $ln) = caller($level + 2); | ||
17 | 2 | 600ns | $package ||= $p; | ||
18 | 2 | 500ns | $file ||= $fn; | ||
19 | 2 | 900ns | $line ||= $ln; | ||
20 | } | ||||
21 | qq{package $package;\n} | ||||
22 | 2 | 9µs | . ($file ? "#line $line \"$file\"\n" : '') | ||
23 | } | ||||
24 | |||||
25 | # spent 176µs (150+26) within Import::Into::_make_action which was called 2 times, avg 88µs/call:
# 2 times (150µs+26µs) by import::into at line 36, avg 88µs/call | ||||
26 | 2 | 800ns | my ($action, $target) = @_; | ||
27 | 2 | 1µs | my $version = ref $target && $target->{version}; | ||
28 | 2 | 700ns | my $ver_check = $version ? ', $version' : ''; | ||
29 | 2 | 141µs | 2 | 26µs | eval _prelude($target) # spent 26µs making 2 calls to Import::Into::_prelude, avg 13µs/call |
30 | . qq{sub { Module::Runtime::use_module( shift$ver_check )->$action(\@_) }} | ||||
31 | or die "Failed to build action sub to ${action} for ${target}: $@"; | ||||
32 | } | ||||
33 | |||||
34 | # spent 279µs (17+263) within import::into which was called 2 times, avg 140µs/call:
# 2 times (17µs+263µs) by Moo::import at line 24 of Moo.pm, avg 140µs/call | ||||
35 | 2 | 2µs | my ($class, $target, @args) = @_; | ||
36 | 2 | 11µs | 4 | 263µs | _make_action(import => $target)->($class, @args); # spent 176µs making 2 calls to Import::Into::_make_action, avg 88µs/call
# spent 47µs making 1 call to Method::Generate::Constructor::__ANON__[Method/Generate/Constructor.pm:202]
# spent 40µs making 1 call to DBIx::Class::Storage::BlockRunner::__ANON__[DBIx/Class/Storage/BlockRunner.pm:29] |
37 | } | ||||
38 | |||||
39 | sub unimport::out_of { | ||||
40 | my ($class, $target, @args) = @_; | ||||
41 | _make_action(unimport => $target)->($class, @args); | ||||
42 | } | ||||
43 | |||||
44 | 1 | 3µs | 1; | ||
45 | |||||
46 | __END__ | ||||
# spent 2µs within Import::Into::CORE:match which was called 2 times, avg 1µs/call:
# 2 times (2µs+0s) by Import::Into::_prelude at line 12, avg 1µs/call |