Filename | /home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/5.13.5/strict.pm |
Statements | Executed 558 statements in 1.96ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
45 | 4 | 2 | 679µs | 679µs | bits | strict::
44 | 44 | 18 | 422µs | 1.00ms | unimport | strict::
70 | 58 | 52 | 393µs | 424µs | import | strict::
1 | 1 | 1 | 55µs | 55µs | CORE:regcomp (opcode) | strict::
1 | 1 | 1 | 23µs | 23µs | CORE:match (opcode) | strict::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package strict; | ||||
2 | |||||
3 | 1 | 3µs | $strict::VERSION = "1.04"; | ||
4 | |||||
5 | # Verify that we're called correctly so that strictures will work. | ||||
6 | 1 | 132µs | 2 | 78µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 55µs making 1 call to strict::CORE:regcomp
# spent 23µ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 | 6µs | my %bitmask = ( | ||
13 | refs => 0x00000002, | ||||
14 | subs => 0x00000200, | ||||
15 | vars => 0x00000400 | ||||
16 | ); | ||||
17 | |||||
18 | # spent 679µs within strict::bits which was called 45 times, avg 15µs/call:
# 41 times (581µs+0s) by strict::unimport at line 41, avg 14µs/call
# 2 times (30µs+0s) by strict::import at line 36, avg 15µs/call
# once (47µs+0s) by main::BEGIN@3 at line 32
# once (21µs+0s) by Mouse::Exporter::BEGIN@10 at line 10 of Mouse/Exporter.pm | ||||
19 | 325 | 771µs | my $bits = 0; | ||
20 | my @wrong; | ||||
21 | foreach my $s (@_) { | ||||
22 | 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 | 9µs | 1 | 47µs | my $default_bits = bits(qw(refs subs vars)); # spent 47µs making 1 call to strict::bits |
33 | |||||
34 | # spent 424µs (393+31) within strict::import which was called 70 times, avg 6µs/call:
# 13 times (64µs+0s) by Any::Moose::import at line 50 of Any/Moose.pm, avg 5µs/call
# once (10µs+16µs) by vars::BEGIN@8 at line 8 of vars.pm
# once (9µs+14µs) by base::BEGIN@3 at line 3 of base.pm
# once (18µs+0s) by main::BEGIN@3 at line 3 of reply.pl
# once (15µs+0s) by Regexp::Common::URI::http::BEGIN@7 at line 7 of Regexp/Common/URI/http.pm
# once (10µs+0s) by Regexp::Common::URI::telnet::BEGIN@7 at line 7 of Regexp/Common/URI/telnet.pm
# once (9µs+0s) by constant::BEGIN@3 at line 3 of constant.pm
# once (7µs+0s) by utf8::BEGIN@2 at line 2 of utf8_heavy.pl
# once (7µs+0s) by Any::Moose::BEGIN@8 at line 8 of Any/Moose.pm
# once (6µs+0s) by DBD::SQLite::BEGIN@4 at line 4 of DBD/SQLite.pm
# once (6µs+0s) by List::Util::BEGIN@11 at line 11 of List/Util.pm
# once (6µs+0s) by mro::BEGIN@10 at line 10 of mro.pm
# once (6µs+0s) by Mouse::Exporter::BEGIN@2 at line 2 of Mouse/Exporter.pm
# once (6µs+0s) by List::MoreUtils::BEGIN@4 at line 4 of List/MoreUtils.pm
# once (6µs+0s) by AutoLoader::BEGIN@3 at line 3 of AutoLoader.pm
# once (5µs+0s) by DBI::BEGIN@276 at line 276 of DBI.pm
# once (5µs+0s) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm
# once (5µs+0s) by Config::BEGIN@9 at line 9 of Config.pm
# once (5µs+0s) by autodie::BEGIN@3 at line 3 of autodie.pm
# once (5µs+0s) by B::Hooks::EndOfScope::BEGIN@2 at line 2 of Sub/Exporter.pm
# once (5µs+0s) by Hailo::Storage::Schema::BEGIN@10 at line 10 of Hailo/Storage/Schema.pm
# once (5µs+0s) by Config::BEGIN@5 at line 5 of Config_heavy.pl
# once (5µs+0s) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm
# once (5µs+0s) by Regexp::Common::URI::BEGIN@5 at line 5 of Regexp/Common/URI.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::RFC1808::BEGIN@13 at line 13 of Regexp/Common/URI/RFC1808.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 Regexp::Common::URI::news::BEGIN@8 at line 8 of Regexp/Common/URI/news.pm
# once (5µs+0s) by Fatal::BEGIN@5 at line 5 of Fatal.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 Data::OptList::BEGIN@3 at line 3 of Data/OptList.pm
# once (5µs+0s) by Sub::Identify::BEGIN@3 at line 3 of Sub/Identify.pm
# once (5µs+0s) by namespace::clean::BEGIN@1 at line 1 of B/Hooks/EndOfScope.pm
# once (5µs+0s) by Regexp::Common::BEGIN@4 at line 4 of Regexp/Common.pm
# once (5µs+0s) by Tie::RefHash::BEGIN@93 at line 93 of Tie/RefHash.pm
# once (5µs+0s) by Regexp::Common::URI::wais::BEGIN@8 at line 8 of Regexp/Common/URI/wais.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 Variable::Magic::BEGIN@5 at line 5 of Variable/Magic.pm
# once (5µs+0s) by namespace::clean::BEGIN@11 at line 11 of namespace/clean.pm
# once (5µs+0s) by Package::Stash::BEGIN@5 at line 5 of Package/Stash.pm
# once (5µs+0s) by Text::Unidecode::BEGIN@5 at line 5 of Text/Unidecode.pm
# once (5µs+0s) by DBD::_::dr::BEGIN@1449 at line 1449 of DBI.pm
# once (5µs+0s) by DBD::_::common::BEGIN@1347 at line 1347 of DBI.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 Regexp::Common::URI::fax::BEGIN@8 at line 8 of Regexp/Common/URI/fax.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 Params::Util::BEGIN@59 at line 59 of Params/Util.pm
# once (5µs+0s) by DBD::_::db::BEGIN@1510 at line 1510 of DBI.pm
# once (5µs+0s) by DBD::_::st::BEGIN@1816 at line 1816 of DBI.pm
# once (5µs+0s) by Regexp::Common::URI::RFC1738::BEGIN@5 at line 5 of Regexp/Common/URI/RFC1738.pm
# once (5µs+0s) by Regexp::Common::URI::BEGIN@16 at line 16 of Regexp/Common/URI.pm
# once (4µs+0s) by Regexp::Common::URI::pop::BEGIN@8 at line 8 of Regexp/Common/URI/pop.pm
# once (4µs+0s) by Regexp::Common::URI::RFC1035::BEGIN@5 at line 5 of Regexp/Common/URI/RFC1035.pm
# once (4µs+0s) by Regexp::Common::URI::tv::BEGIN@10 at line 10 of Regexp/Common/URI/tv.pm
# once (4µs+0s) by Regexp::Common::URI::RFC2396::BEGIN@5 at line 5 of Regexp/Common/URI/RFC2396.pm
# once (4µs+0s) by Regexp::Common::URI::prospero::BEGIN@8 at line 8 of Regexp/Common/URI/prospero.pm
# once (4µs+0s) by Regexp::Common::URI::tel::BEGIN@8 at line 8 of Regexp/Common/URI/tel.pm
# once (4µs+0s) by Sub::Install::BEGIN@4 at line 4 of Sub/Install.pm | ||||
35 | 140 | 581µs | shift; | ||
36 | 2 | 30µs | $^H |= @_ ? bits(@_) : $default_bits; # spent 30µs making 2 calls to strict::bits, avg 15µs/call | ||
37 | } | ||||
38 | |||||
39 | # spent 1.00ms (422µs+580µs) within strict::unimport which was called 44 times, avg 23µs/call:
# once (15µs+24µs) by Carp::BEGIN@313 at line 313 of Carp.pm
# once (14µs+17µs) by Fatal::BEGIN@364 at line 364 of Fatal.pm
# once (13µs+16µs) by Fatal::BEGIN@1096 at line 1096 of Fatal.pm
# once (11µs+18µs) by Regexp::Common::BEGIN@13 at line 13 of Regexp/Common.pm
# once (11µs+17µs) by Any::Moose::BEGIN@69 at line 69 of Any/Moose.pm
# once (13µs+15µs) by utf8::BEGIN@89 at line 89 of utf8_heavy.pl
# once (12µs+16µs) by constant::BEGIN@29 at line 29 of constant.pm
# once (11µs+15µs) by Regexp::Common::URI::RFC1808::BEGIN@8 at line 8 of Regexp/Common/URI/RFC1808.pm
# once (10µs+15µs) by Mouse::Util::BEGIN@142 at line 142 of Mouse/Util.pm
# once (10µs+15µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm
# once (9µs+15µs) by DBI::BEGIN@803 at line 803 of DBI.pm
# once (10µs+15µs) by Sub::Install::BEGIN@184 at line 184 of Sub/Install.pm
# once (10µs+14µs) by Hailo::BEGIN@129 at line 129 of Hailo.pm
# once (10µs+13µs) by Any::Moose::BEGIN@191 at line 191 of Any/Moose.pm
# once (10µs+14µs) by constant::BEGIN@114 at line 114 of constant.pm
# once (10µs+13µs) by Mouse::Exporter::BEGIN@231 at line 231 of Mouse/Exporter.pm
# once (9µs+14µs) by DBI::BEGIN@534 at line 534 of DBI.pm
# once (10µs+13µs) by DBI::BEGIN@1034 at line 1034 of DBI.pm
# once (9µs+13µs) by DBI::BEGIN@866 at line 866 of DBI.pm
# once (10µs+13µs) by Mouse::Exporter::BEGIN@96 at line 96 of Mouse/Exporter.pm
# once (9µs+13µs) by Package::Stash::BEGIN@18 at line 18 of Package/Stash.pm
# once (9µs+13µs) by DBI::BEGIN@691 at line 691 of DBI.pm
# once (9µs+13µs) by Mouse::Util::BEGIN@12 at line 12 of Mouse/Util.pm
# once (9µs+13µs) by utf8::BEGIN@325 at line 325 of utf8_heavy.pl
# once (9µs+13µs) by Mouse::Meta::Module::BEGIN@224 at line 224 of Mouse/Meta/Module.pm
# once (9µs+13µs) by Mouse::Meta::Class::BEGIN@26 at line 26 of Mouse/Meta/Class.pm
# once (9µs+13µs) by AutoLoader::BEGIN@186 at line 186 of AutoLoader.pm
# once (9µs+13µs) by AutoLoader::BEGIN@138 at line 138 of AutoLoader.pm
# once (9µs+13µs) by Regexp::Common::BEGIN@69 at line 69 of Regexp/Common.pm
# once (9µs+13µs) by AutoLoader::BEGIN@30 at line 30 of AutoLoader.pm
# once (9µs+13µs) by DBI::BEGIN@963 at line 963 of DBI.pm
# once (9µs+13µs) by Config::BEGIN@38 at line 38 of Config.pm
# once (9µs+13µs) by Regexp::Common::BEGIN@117 at line 117 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+13µs) by constant::BEGIN@52 at line 52 of constant.pm
# once (9µs+13µs) by Package::Stash::BEGIN@185 at line 185 of Package/Stash.pm
# once (9µs+13µs) by Regexp::Common::BEGIN@60 at line 60 of Regexp/Common.pm
# once (9µs+12µs) by Package::Stash::BEGIN@115 at line 115 of Package/Stash.pm
# once (9µs+12µs) by Package::Stash::BEGIN@107 at line 107 of Package/Stash.pm
# once (9µs+12µs) by Regexp::Common::BEGIN@128 at line 128 of Regexp/Common.pm
# once (9µs+12µs) by DBI::BEGIN@837 at line 837 of DBI.pm
# once (5µs+0s) by Fatal::BEGIN@385 at line 385 of Fatal.pm
# once (5µs+0s) by DBI::BEGIN@272 at line 272 of DBI.pm
# once (4µs+0s) by Fatal::BEGIN@369 at line 369 of Fatal.pm | ||||
40 | 88 | 434µs | shift; | ||
41 | 41 | 581µs | $^H &= ~ (@_ ? bits(@_) : $default_bits); # spent 581µs making 41 calls to strict::bits, avg 14µs/call | ||
42 | } | ||||
43 | |||||
44 | 1 | 29µs | 1; | ||
45 | __END__ | ||||
# spent 23µs within strict::CORE:match which was called:
# once (23µs+0s) by main::BEGIN@3 at line 6 | |||||
# spent 55µs within strict::CORE:regcomp which was called:
# once (55µs+0s) by main::BEGIN@3 at line 6 |