| Filename | /usr/share/perl5/Import/Into.pm |
| Statements | Executed 36 statements in 595µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 2 | 1 | 1 | 176µs | 203µs | Import::Into::_make_action |
| 2 | 1 | 1 | 24µs | 27µs | Import::Into::_prelude |
| 2 | 1 | 1 | 18µs | 318µs | import::into |
| 1 | 1 | 1 | 14µs | 20µs | Import::Into::BEGIN@3 |
| 1 | 1 | 1 | 11µs | 16µs | Import::Into::BEGIN@5 |
| 1 | 1 | 1 | 10µs | 18µs | Import::Into::BEGIN@4 |
| 2 | 1 | 1 | 2µs | 2µs | Import::Into::CORE:match (opcode) |
| 0 | 0 | 0 | 0s | 0s | unimport::out_of |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Import::Into; | ||||
| 2 | |||||
| 3 | 2 | 40µs | 2 | 26µs | # spent 20µs (14+6) within Import::Into::BEGIN@3 which was called:
# once (14µs+6µs) by Moo::BEGIN@5 at line 3 # spent 20µs making 1 call to Import::Into::BEGIN@3
# spent 6µs making 1 call to strict::import |
| 4 | 2 | 36µs | 2 | 26µs | # spent 18µs (10+8) within Import::Into::BEGIN@4 which was called:
# once (10µs+8µs) by Moo::BEGIN@5 at line 4 # spent 18µs making 1 call to Import::Into::BEGIN@4
# spent 8µs making 1 call to warnings::import |
| 5 | 2 | 304µs | 2 | 20µs | # spent 16µs (11+5) within Import::Into::BEGIN@5 which was called:
# once (11µs+5µs) by Moo::BEGIN@5 at line 5 # spent 16µs making 1 call to Import::Into::BEGIN@5
# spent 5µs making 1 call to Module::Runtime::import |
| 6 | |||||
| 7 | 1 | 500ns | our $VERSION = '1.002004'; | ||
| 8 | |||||
| 9 | # spent 27µ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 | 500ns | 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 | 1µs | if (defined $level) { | ||
| 16 | 2 | 7µs | my ($p, $fn, $ln) = caller($level + 2); | ||
| 17 | 2 | 800ns | $package ||= $p; | ||
| 18 | 2 | 400ns | $file ||= $fn; | ||
| 19 | 2 | 1µs | $line ||= $ln; | ||
| 20 | } | ||||
| 21 | qq{package $package;\n} | ||||
| 22 | 2 | 8µs | . ($file ? "#line $line \"$file\"\n" : '') | ||
| 23 | } | ||||
| 24 | |||||
| 25 | # spent 203µs (176+27) within Import::Into::_make_action which was called 2 times, avg 101µs/call:
# 2 times (176µs+27µs) by import::into at line 36, avg 101µs/call | ||||
| 26 | 2 | 900ns | my ($action, $target) = @_; | ||
| 27 | 2 | 900ns | my $version = ref $target && $target->{version}; | ||
| 28 | 2 | 800ns | my $ver_check = $version ? ', $version' : ''; | ||
| 29 | 2 | 167µs | 2 | 27µs | eval _prelude($target) # spent 27µ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 318µs (18+299) within import::into which was called 2 times, avg 159µs/call:
# 2 times (18µs+299µs) by Moo::import at line 24 of Moo.pm, avg 159µs/call | ||||
| 35 | 2 | 1µs | my ($class, $target, @args) = @_; | ||
| 36 | 2 | 12µs | 4 | 299µs | _make_action(import => $target)->($class, @args); # spent 203µs making 2 calls to Import::Into::_make_action, avg 101µs/call
# spent 52µs making 1 call to DBIx::Class::Storage::BlockRunner::__ANON__[DBIx/Class/Storage/BlockRunner.pm:29]
# spent 45µs making 1 call to Method::Generate::Constructor::__ANON__[Method/Generate/Constructor.pm:202] |
| 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 |