Filename | /home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/5.13.5/strict.pm |
Statements | Executed 726 statements in 2.35ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
57 | 4 | 2 | 811µs | 811µs | bits | strict::
56 | 56 | 29 | 553µs | 1.30ms | unimport | strict::
100 | 84 | 78 | 529µs | 557µs | import | strict::
1 | 1 | 1 | 12µs | 12µs | CORE:regcomp (opcode) | strict::
1 | 1 | 1 | 4µs | 4µs | CORE:match (opcode) | strict::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package strict; | ||||
2 | |||||
3 | 1 | 1µs | $strict::VERSION = "1.04"; | ||
4 | |||||
5 | # Verify that we're called correctly so that strictures will work. | ||||
6 | 1 | 27µs | 2 | 16µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 12µs making 1 call to strict::CORE:regcomp
# spent 4µs making 1 call to strict::CORE:match |
7 | # Can't use Carp, since Carp uses us! | ||||
8 | my (undef, $f, $l) = caller; | ||||
9 | die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n"); | ||||
10 | } | ||||
11 | |||||
12 | 1 | 2µs | my %bitmask = ( | ||
13 | refs => 0x00000002, | ||||
14 | subs => 0x00000200, | ||||
15 | vars => 0x00000400 | ||||
16 | ); | ||||
17 | |||||
18 | # spent 811µs within strict::bits which was called 57 times, avg 14µs/call:
# 53 times (745µs+0s) by strict::unimport at line 41, avg 14µs/call
# 2 times (28µs+0s) by strict::import at line 36, avg 14µs/call
# once (19µs+0s) by Mouse::Exporter::BEGIN@10 at line 10 of Mouse/Exporter.pm
# once (19µs+0s) by PerlIO::encoding::BEGIN@3 at line 32 | ||||
19 | 285 | 640µs | my $bits = 0; | ||
20 | my @wrong; | ||||
21 | foreach my $s (@_) { | ||||
22 | 124 | 279µs | push @wrong, $s unless exists $bitmask{$s}; | ||
23 | $bits |= $bitmask{$s} || 0; | ||||
24 | } | ||||
25 | if (@wrong) { | ||||
26 | require Carp; | ||||
27 | Carp::croak("Unknown 'strict' tag(s) '@wrong'"); | ||||
28 | } | ||||
29 | $bits; | ||||
30 | } | ||||
31 | |||||
32 | 1 | 4µs | 1 | 19µs | my $default_bits = bits(qw(refs subs vars)); # spent 19µs making 1 call to strict::bits |
33 | |||||
34 | # spent 557µs (529+28) within strict::import which was called 100 times, avg 6µs/call:
# 17 times (77µs+0s) by Any::Moose::import at line 50 of Any/Moose.pm, avg 5µs/call
# once (8µs+15µs) by vars::BEGIN@8 at line 8 of vars.pm
# once (10µs+13µs) by base::BEGIN@3 at line 3 of base.pm
# once (9µs+0s) by Getopt::Long::BEGIN@17 at line 17 of Getopt/Long.pm
# once (8µs+0s) by Text::Unidecode::BEGIN@5 at line 5 of Text/Unidecode.pm
# once (7µs+0s) by Mouse::Exporter::BEGIN@2 at line 2 of Mouse/Exporter.pm
# once (7µs+0s) by Encode::Config::BEGIN@7 at line 7 of Encode/Config.pm
# once (7µs+0s) by version::BEGIN@5 at line 5 of version.pm
# once (6µs+0s) by DBD::SQLite::BEGIN@4 at line 4 of DBD/SQLite.pm
# once (6µs+0s) by utf8::BEGIN@2 at line 2 of utf8_heavy.pl
# once (6µs+0s) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm
# once (6µs+0s) by namespace::clean::BEGIN@11 at line 11 of namespace/clean.pm
# once (6µs+0s) by Regexp::Common::URI::BEGIN@5 at line 5 of Regexp/Common/URI.pm
# once (6µs+0s) by File::CountLines::BEGIN@2 at line 2 of File/CountLines.pm
# once (6µs+0s) by File::Glob::BEGIN@3 at line 3 of File/Glob.pm
# once (6µs+0s) by Encode::Encoding::BEGIN@4 at line 4 of Encode/Encoding.pm
# once (6µs+0s) by autodie::BEGIN@3 at line 3 of autodie.pm
# once (6µs+0s) by Cwd::BEGIN@170 at line 170 of Cwd.pm
# once (6µs+0s) by Term::Sk::BEGIN@3 at line 3 of Term/Sk.pm
# once (6µs+0s) by PerlIO::encoding::BEGIN@3 at line 3 of PerlIO/encoding.pm
# once (6µs+0s) by Encode::Alias::BEGIN@2 at line 2 of Encode/Alias.pm
# once (6µs+0s) by Dir::Self::BEGIN@4 at line 4 of Dir/Self.pm
# once (6µs+0s) by DBD::_::common::BEGIN@1347 at line 1347 of DBI.pm
# once (6µs+0s) by Fcntl::BEGIN@58 at line 58 of Fcntl.pm
# once (6µs+0s) by Hailo::Storage::Schema::BEGIN@4 at line 4 of lib/Hailo/Storage/Schema.pm
# once (6µs+0s) by Regexp::Common::URI::wais::BEGIN@8 at line 8 of Regexp/Common/URI/wais.pm
# once (6µs+0s) by Params::Validate::BEGIN@3.4 at line 3 of Params/ValidateXS.pm
# once (6µs+0s) by namespace::clean::BEGIN@1 at line 1 of B/Hooks/EndOfScope.pm
# once (5µs+0s) by Encode::BEGIN@5 at line 5 of Encode.pm
# once (5µs+0s) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm
# once (5µs+0s) by IO::Handle::BEGIN@261 at line 261 of IO/Handle.pm
# once (5µs+0s) by AutoLoader::BEGIN@3 at line 3 of AutoLoader.pm
# once (5µs+0s) by List::Util::BEGIN@11 at line 11 of List/Util.pm
# once (5µs+0s) by Params::Validate::BEGIN@3 at line 3 of Params/Validate.pm
# once (5µs+0s) by Config::BEGIN@9 at line 9 of Config.pm
# once (5µs+0s) by constant::BEGIN@3 at line 3 of constant.pm
# once (5µs+0s) by charnames::BEGIN@2 at line 2 of charnames.pm
# once (5µs+0s) by MouseX::Getopt::GLD::BEGIN@1 at line 1 of Getopt/Long/Descriptive.pm
# once (5µs+0s) by Time::HiRes::BEGIN@3 at line 3 of Time/HiRes.pm
# once (5µs+0s) by Regexp::Common::URI::tv::BEGIN@10 at line 10 of Regexp/Common/URI/tv.pm
# once (5µs+0s) by Getopt::Long::Descriptive::BEGIN@1 at line 1 of Getopt/Long/Descriptive/Opts.pm
# once (5µs+0s) by Sub::Identify::BEGIN@3 at line 3 of Sub/Identify.pm
# once (5µs+0s) by Regexp::Common::URI::RFC2396::BEGIN@5 at line 5 of Regexp/Common/URI/RFC2396.pm
# once (5µs+0s) by mro::BEGIN@10 at line 10 of mro.pm
# once (5µs+0s) by DBD::_::dr::BEGIN@1449 at line 1449 of DBI.pm
# once (5µs+0s) by Any::Moose::BEGIN@8 at line 8 of Any/Moose.pm
# once (5µs+0s) by Regexp::Common::URI::telnet::BEGIN@7 at line 7 of Regexp/Common/URI/telnet.pm
# once (5µs+0s) by Regexp::Common::URI::news::BEGIN@8 at line 8 of Regexp/Common/URI/news.pm
# once (5µs+0s) by Regexp::Common::URI::fax::BEGIN@8 at line 8 of Regexp/Common/URI/fax.pm
# once (5µs+0s) by Getopt::Long::Descriptive::BEGIN@1.5 at line 1 of Sub/Exporter/Util.pm
# once (5µs+0s) by Sub::Name::BEGIN@44 at line 44 of Sub/Name.pm
# once (5µs+0s) by Regexp::Common::URI::RFC2806::BEGIN@6 at line 6 of Regexp/Common/URI/RFC2806.pm
# once (5µs+0s) by Regexp::Common::URI::ftp::BEGIN@8 at line 8 of Regexp/Common/URI/ftp.pm
# once (5µs+0s) by Getopt::Long::Descriptive::Usage::BEGIN@2 at line 2 of Getopt/Long/Descriptive/Usage.pm
# once (5µs+0s) by Data::OptList::BEGIN@3 at line 3 of Data/OptList.pm
# once (5µs+0s) by Regexp::Common::URI::RFC1035::BEGIN@5 at line 5 of Regexp/Common/URI/RFC1035.pm
# once (5µs+0s) by Regexp::Common::BEGIN@4 at line 4 of Regexp/Common.pm
# once (5µs+0s) by Regexp::Common::URI::http::BEGIN@7 at line 7 of Regexp/Common/URI/http.pm
# once (5µs+0s) by DBD::_::st::BEGIN@1816 at line 1816 of DBI.pm
# once (5µs+0s) by Regexp::Common::URI::BEGIN@16 at line 16 of Regexp/Common/URI.pm
# once (5µs+0s) by Variable::Magic::BEGIN@5 at line 5 of Variable/Magic.pm
# once (5µs+0s) by Sub::Install::BEGIN@4 at line 4 of Sub/Install.pm
# once (5µs+0s) by Package::Stash::BEGIN@5 at line 5 of Package/Stash.pm
# once (5µs+0s) by Regexp::Common::URI::RFC2384::BEGIN@7 at line 7 of Regexp/Common/URI/RFC2384.pm
# once (5µs+0s) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm
# once (5µs+0s) by Regexp::Common::URI::gopher::BEGIN@8 at line 8 of Regexp/Common/URI/gopher.pm
# once (5µs+0s) by Tie::RefHash::BEGIN@93 at line 93 of Tie/RefHash.pm
# once (5µs+0s) by Config::BEGIN@5 at line 5 of Config_heavy.pl
# once (5µs+0s) by IO::Interactive::BEGIN@6 at line 6 of IO/Interactive.pm
# once (5µs+0s) by Regexp::Common::URI::file::BEGIN@7 at line 7 of Regexp/Common/URI/file.pm
# once (5µs+0s) by Fatal::BEGIN@5 at line 5 of Fatal.pm
# once (5µs+0s) by File::Basename::BEGIN@50 at line 50 of File/Basename.pm
# once (5µs+0s) by Sub::Exporter::Util::BEGIN@2 at line 2 of Sub/Exporter.pm
# once (5µs+0s) by Regexp::Common::URI::RFC1808::BEGIN@13 at line 13 of Regexp/Common/URI/RFC1808.pm
# once (5µs+0s) by DBI::BEGIN@276 at line 276 of DBI.pm
# once (5µs+0s) by List::MoreUtils::BEGIN@4 at line 4 of List/MoreUtils.pm
# once (5µs+0s) by DBD::_::db::BEGIN@1510 at line 1510 of DBI.pm
# once (5µs+0s) by Regexp::Common::URI::prospero::BEGIN@8 at line 8 of Regexp/Common/URI/prospero.pm
# once (5µs+0s) by Regexp::Common::URI::pop::BEGIN@8 at line 8 of Regexp/Common/URI/pop.pm
# once (4µs+0s) by Params::Util::BEGIN@59 at line 59 of Params/Util.pm
# once (4µs+0s) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm
# once (4µs+0s) by IO::BEGIN@7 at line 7 of IO.pm
# once (4µs+0s) by Regexp::Common::URI::RFC1738::BEGIN@5 at line 5 of Regexp/Common/URI/RFC1738.pm
# once (4µs+0s) by Regexp::Common::URI::tel::BEGIN@8 at line 8 of Regexp/Common/URI/tel.pm | ||||
35 | 200 | 808µs | shift; | ||
36 | 2 | 28µs | $^H |= @_ ? bits(@_) : $default_bits; # spent 28µs making 2 calls to strict::bits, avg 14µs/call | ||
37 | } | ||||
38 | |||||
39 | # spent 1.30ms (553µs+745µs) within strict::unimport which was called 56 times, avg 23µs/call:
# once (15µs+18µs) by Carp::BEGIN@313 at line 313 of Carp.pm
# once (11µs+20µs) by Fcntl::BEGIN@239 at line 239 of Fcntl.pm
# once (15µs+15µs) by version::BEGIN@119 at line 119 of version.pm
# once (11µs+18µs) by DBI::BEGIN@534 at line 534 of DBI.pm
# once (13µs+15µs) by File::Spec::Unix::BEGIN@149 at line 149 of File/Spec/Unix.pm
# once (14µs+14µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm
# once (12µs+15µs) by Cwd::BEGIN@811 at line 811 of Cwd.pm
# once (9µs+17µs) by Config::BEGIN@38 at line 38 of Config.pm
# once (11µs+15µs) by Dir::Self::BEGIN@36 at line 36 of Dir/Self.pm
# once (11µs+15µs) by Any::Moose::BEGIN@69 at line 69 of Any/Moose.pm
# once (11µs+15µs) by utf8::BEGIN@89 at line 89 of utf8_heavy.pl
# once (11µs+15µs) by Fatal::BEGIN@364 at line 364 of Fatal.pm
# once (11µs+15µs) by Hailo::Command::BEGIN@242 at line 242 of lib/Hailo/Command.pm
# once (12µs+14µs) by Mouse::Exporter::BEGIN@231 at line 231 of Mouse/Exporter.pm
# once (10µs+16µs) by Mouse::Meta::Module::BEGIN@224 at line 224 of Mouse/Meta/Module.pm
# once (11µs+15µs) by Mouse::Util::BEGIN@142 at line 142 of Mouse/Util.pm
# once (11µs+14µs) by IO::Handle::BEGIN@613 at line 613 of IO/Handle.pm
# once (11µs+15µs) by Regexp::Common::BEGIN@13 at line 13 of Regexp/Common.pm
# once (11µs+14µs) by Time::HiRes::BEGIN@42 at line 42 of Time/HiRes.pm
# once (10µs+15µs) by Regexp::Common::URI::RFC1808::BEGIN@8 at line 8 of Regexp/Common/URI/RFC1808.pm
# once (10µs+14µs) by constant::BEGIN@29 at line 29 of constant.pm
# once (11µs+14µs) by Any::Moose::BEGIN@191 at line 191 of Any/Moose.pm
# once (9µs+15µs) by Regexp::Common::BEGIN@117 at line 117 of Regexp/Common.pm
# once (10µs+15µs) by Hailo::BEGIN@123 at line 123 of lib/Hailo.pm
# once (10µs+14µs) by Getopt::Long::Descriptive::Opts::BEGIN@110 at line 110 of Getopt/Long/Descriptive/Opts.pm
# once (10µs+14µs) by Fatal::BEGIN@1096 at line 1096 of Fatal.pm
# once (9µs+15µs) by Package::Stash::BEGIN@18 at line 18 of Package/Stash.pm
# once (10µs+14µs) by Sub::Exporter::Util::BEGIN@252 at line 252 of Sub/Exporter/Util.pm
# once (10µs+13µs) by Mouse::Exporter::BEGIN@96 at line 96 of Mouse/Exporter.pm
# once (10µs+13µs) by DBI::BEGIN@691 at line 691 of DBI.pm
# once (9µs+14µs) by Mouse::Util::BEGIN@12 at line 12 of Mouse/Util.pm
# once (9µs+14µs) by DBI::BEGIN@963 at line 963 of DBI.pm
# once (10µs+13µs) by Package::Stash::BEGIN@107 at line 107 of Package/Stash.pm
# once (10µs+13µs) by DBI::BEGIN@803 at line 803 of DBI.pm
# once (9µs+13µs) by Regexp::Common::BEGIN@128 at line 128 of Regexp/Common.pm
# once (9µs+13µs) by AutoLoader::BEGIN@138 at line 138 of AutoLoader.pm
# once (9µs+13µs) by constant::BEGIN@114 at line 114 of constant.pm
# once (9µs+13µs) by Dir::Self::BEGIN@39 at line 39 of Dir/Self.pm
# once (9µs+13µs) by Sub::Install::BEGIN@184 at line 184 of Sub/Install.pm
# once (9µs+13µs) by AutoLoader::BEGIN@30 at line 30 of AutoLoader.pm
# once (9µs+13µs) by utf8::BEGIN@325 at line 325 of utf8_heavy.pl
# once (10µs+12µs) by Package::Stash::BEGIN@185 at line 185 of Package/Stash.pm
# once (9µs+13µs) by DBI::BEGIN@837 at line 837 of DBI.pm
# once (9µs+12µs) by DBI::BEGIN@1034 at line 1034 of DBI.pm
# once (9µs+12µs) by Regexp::Common::BEGIN@60 at line 60 of Regexp/Common.pm
# once (9µs+13µs) by Mouse::Meta::Module::BEGIN@303 at line 303 of Mouse/Meta/Module.pm
# once (9µs+12µs) by Mouse::Meta::Class::BEGIN@26 at line 26 of Mouse/Meta/Class.pm
# once (9µs+13µs) by constant::BEGIN@52 at line 52 of constant.pm
# once (9µs+12µs) by DBI::BEGIN@866 at line 866 of DBI.pm
# once (9µs+12µs) by Package::Stash::BEGIN@115 at line 115 of Package/Stash.pm
# once (8µs+13µs) by Regexp::Common::BEGIN@69 at line 69 of Regexp/Common.pm
# once (8µs+13µs) by IO::Interactive::BEGIN@123 at line 123 of IO/Interactive.pm
# once (9µs+12µs) by AutoLoader::BEGIN@186 at line 186 of AutoLoader.pm
# once (6µs+0s) by DBI::BEGIN@272 at line 272 of DBI.pm
# once (5µs+0s) by Fatal::BEGIN@369 at line 369 of Fatal.pm
# once (5µs+0s) by Fatal::BEGIN@385 at line 385 of Fatal.pm | ||||
40 | 112 | 583µs | shift; | ||
41 | 53 | 745µs | $^H &= ~ (@_ ? bits(@_) : $default_bits); # spent 745µs making 53 calls to strict::bits, avg 14µs/call | ||
42 | } | ||||
43 | |||||
44 | 1 | 9µs | 1; | ||
45 | __END__ | ||||
# spent 4µs within strict::CORE:match which was called:
# once (4µs+0s) by PerlIO::encoding::BEGIN@3 at line 6 | |||||
# spent 12µs within strict::CORE:regcomp which was called:
# once (12µs+0s) by PerlIO::encoding::BEGIN@3 at line 6 |