← Index
NYTProf Performance Profile   « block view • line view • sub view »
For reply.pl
  Run on Thu Oct 21 22:40:13 2010
Reported on Thu Oct 21 22:44:41 2010

Filename/home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/5.13.5/strict.pm
StatementsExecuted 558 statements in 1.96ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
4542679µs679µsstrict::::bitsstrict::bits
444418422µs1.00msstrict::::unimportstrict::unimport
705852393µs424µsstrict::::importstrict::import
11155µs55µsstrict::::CORE:regcompstrict::CORE:regcomp (opcode)
11123µs23µsstrict::::CORE:matchstrict::CORE:match (opcode)
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package strict;
2
313µs$strict::VERSION = "1.04";
4
5# Verify that we're called correctly so that strictures will work.
61132µs278µsunless ( __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
1216µsmy %bitmask = (
13refs => 0x00000002,
14subs => 0x00000200,
15vars => 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
sub bits {
194560µs my $bits = 0;
204549µs my @wrong;
2145133µs foreach my $s (@_) {
225080µs push @wrong, $s unless exists $bitmask{$s};
2350164µs $bits |= $bitmask{$s} || 0;
24 }
254555µs if (@wrong) {
26 require Carp;
27 Carp::croak("Unknown 'strict' tag(s) '@wrong'");
28 }
2945230µs $bits;
30}
31
3219µs147µsmy $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
sub import {
357087µs shift;
3670493µs230µ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
sub unimport {
404445µs shift;
4144389µs41581µs $^H &= ~ (@_ ? bits(@_) : $default_bits);
# spent 581µs making 41 calls to strict::bits, avg 14µs/call
42}
43
44129µs1;
45__END__
 
# spent 23µs within strict::CORE:match which was called: # once (23µs+0s) by main::BEGIN@3 at line 6
sub strict::CORE:match; # opcode
# spent 55µs within strict::CORE:regcomp which was called: # once (55µs+0s) by main::BEGIN@3 at line 6
sub strict::CORE:regcomp; # opcode