Filename | /usr/lib/perl5/5.14/strict.pm |
Statements | Executed 354 statements in 1.83ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
53 | 53 | 51 | 490µs | 520µs | import | strict::
27 | 3 | 1 | 352µs | 352µs | bits | strict::
24 | 24 | 15 | 301µs | 590µs | unimport | strict::
1 | 1 | 1 | 85µs | 85µs | CORE:regcomp (opcode) | strict::
1 | 1 | 1 | 25µs | 25µs | CORE:match (opcode) | strict::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package strict; | ||||
2 | |||||
3 | 1 | 2µs | $strict::VERSION = "1.04"; | ||
4 | |||||
5 | # Verify that we're called correctly so that strictures will work. | ||||
6 | 1 | 161µs | 2 | 110µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 85µs making 1 call to strict::CORE:regcomp
# spent 25µ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 | sub bits { | ||||
19 | 27 | 22µs | my $bits = 0; | ||
20 | 27 | 16µs | my @wrong; | ||
21 | 27 | 75µs | foreach my $s (@_) { | ||
22 | 30 | 39µs | push @wrong, $s unless exists $bitmask{$s}; | ||
23 | 30 | 93µs | $bits |= $bitmask{$s} || 0; | ||
24 | } | ||||
25 | 27 | 20µs | if (@wrong) { | ||
26 | require Carp; | ||||
27 | Carp::croak("Unknown 'strict' tag(s) '@wrong'"); | ||||
28 | } | ||||
29 | 27 | 188µs | $bits; | ||
30 | } | ||||
31 | |||||
32 | 1 | 11µs | 1 | 32µs | my $default_bits = bits(qw(refs subs vars)); # spent 32µs making 1 call to strict::bits |
33 | |||||
34 | # spent 520µs (490+30) within strict::import which was called 53 times, avg 10µs/call:
# once (19µs+16µs) by base::BEGIN@3 at line 3 of base.pm
# once (13µs+14µs) by vars::BEGIN@8 at line 8 of vars.pm
# once (27µs+0s) by Config::BEGIN@9 at line 9 of Config.pm
# once (18µs+0s) by installer::logger::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/logger.pm
# once (16µs+0s) by installer::copyproject::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/copyproject.pm
# once (15µs+0s) by Carp::BEGIN@3 at line 3 of Carp.pm
# once (15µs+0s) by Archive::Zip::ZipFileMember::BEGIN@3 at line 3 of Archive/Zip/ZipFileMember.pm
# once (15µs+0s) by main::BEGIN@28 at line 28 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/make_installer.pl
# once (14µs+0s) by List::Util::BEGIN@11 at line 11 of List/Util.pm
# once (13µs+0s) by Fcntl::BEGIN@58 at line 58 of Fcntl.pm
# once (12µs+0s) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm
# once (12µs+0s) by Archive::Zip::NewFileMember::BEGIN@3 at line 3 of Archive/Zip/NewFileMember.pm
# once (11µs+0s) by installer::helppack::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/helppack.pm
# once (11µs+0s) by IO::File::BEGIN@128 at line 128 of IO/File.pm
# once (10µs+0s) by Archive::Zip::Member::BEGIN@5 at line 5 of Archive/Zip/Member.pm
# once (10µs+0s) by Digest::MD5::BEGIN@3 at line 3 of Digest/MD5.pm
# once (10µs+0s) by IO::Handle::BEGIN@261 at line 261 of IO/Handle.pm
# once (10µs+0s) by Archive::Zip::Archive::BEGIN@5 at line 5 of Archive/Zip/Archive.pm
# once (10µs+0s) by Archive::Zip::DirectoryMember::BEGIN@3 at line 3 of Archive/Zip/DirectoryMember.pm
# once (10µs+0s) by Cwd::BEGIN@170 at line 170 of Cwd.pm
# once (10µs+0s) by File::stat::BEGIN@4 at line 4 of File/stat.pm
# once (9µs+0s) by installer::exiter::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/exiter.pm
# once (9µs+0s) by POSIX::BEGIN@2 at line 2 of POSIX.pm
# once (9µs+0s) by AutoLoader::BEGIN@3 at line 3 of AutoLoader.pm
# once (9µs+0s) by installer::strip::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/strip.pm
# once (9µs+0s) by Archive::Zip::BEGIN@3 at line 3 of Archive/Zip.pm
# once (9µs+0s) by Archive::Zip::StringMember::BEGIN@3 at line 3 of Archive/Zip/StringMember.pm
# once (8µs+0s) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm
# once (8µs+0s) by File::Temp::BEGIN@142 at line 142 of File/Temp.pm
# once (8µs+0s) by installer::converter::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/converter.pm
# once (8µs+0s) by FileHandle::BEGIN@4 at line 4 of FileHandle.pm
# once (8µs+0s) by IO::Seekable::BEGIN@99 at line 99 of IO/Seekable.pm
# once (7µs+0s) by installer::files::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/files.pm
# once (7µs+0s) by installer::download::BEGIN@30 at line 30 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/download.pm
# once (7µs+0s) by File::Copy::BEGIN@11 at line 11 of File/Copy.pm
# once (7µs+0s) by Archive::Zip::FileMember::BEGIN@3 at line 3 of Archive/Zip/FileMember.pm
# once (6µs+0s) by File::Spec::Functions::BEGIN@4 at line 4 of File/Spec/Functions.pm
# once (6µs+0s) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm
# once (6µs+0s) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm
# once (6µs+0s) by File::Basename::BEGIN@50 at line 50 of File/Basename.pm
# once (6µs+0s) by IO::BEGIN@7 at line 7 of IO.pm
# once (6µs+0s) by File::Find::BEGIN@3 at line 3 of File/Find.pm
# once (6µs+0s) by File::Spec::Cygwin::BEGIN@3 at line 3 of File/Spec/Cygwin.pm
# once (5µs+0s) by Class::Struct::BEGIN@7 at line 7 of Class/Struct.pm
# once (5µs+0s) by Time::Local::BEGIN@6 at line 6 of Time/Local.pm
# once (5µs+0s) by Digest::base::BEGIN@3 at line 3 of Digest/base.pm
# once (5µs+0s) by lib::BEGIN@8 at line 8 of lib.pm
# once (5µs+0s) by constant::BEGIN@3 at line 3 of constant.pm
# once (5µs+0s) by Errno::BEGIN@9 at line 9 of Errno.pm
# once (5µs+0s) by File::Path::BEGIN@4 at line 4 of File/Path.pm
# once (4µs+0s) by File::Find::BEGIN@349 at line 349 of File/Find.pm
# once (4µs+0s) by File::Temp::Dir::BEGIN@2406 at line 2406 of File/Temp.pm
# once (4µs+0s) by Compress::Raw::Zlib::BEGIN@11 at line 11 of Compress/Raw/Zlib.pm | ||||
35 | 53 | 31µs | shift; | ||
36 | 53 | 836µs | 2 | 30µs | $^H |= @_ ? bits(@_) : $default_bits; # spent 30µs making 2 calls to strict::bits, avg 15µs/call |
37 | } | ||||
38 | |||||
39 | # spent 590µs (301+289) within strict::unimport which was called 24 times, avg 25µs/call:
# once (37µs+28µs) by Cwd::BEGIN@818 at line 818 of Cwd.pm
# once (29µs+22µs) by Carp::BEGIN@341 at line 341 of Carp.pm
# once (16µs+21µs) by Carp::BEGIN@46 at line 46 of Carp.pm
# once (13µs+17µs) by File::Spec::Unix::BEGIN@149 at line 149 of File/Spec/Unix.pm
# once (14µs+15µs) by IO::Handle::BEGIN@624 at line 624 of IO/Handle.pm
# once (12µs+15µs) by FileHandle::BEGIN@46 at line 46 of FileHandle.pm
# once (12µs+13µs) by AutoLoader::BEGIN@30 at line 30 of AutoLoader.pm
# once (13µs+11µs) by File::Path::BEGIN@329 at line 329 of File/Path.pm
# once (11µs+12µs) by File::stat::BEGIN@35 at line 35 of File/stat.pm
# once (13µs+10µs) by Config::BEGIN@45 at line 45 of Config.pm
# once (11µs+11µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm
# once (11µs+10µs) by File::stat::BEGIN@200 at line 200 of File/stat.pm
# once (10µs+9µs) by File::Spec::Functions::BEGIN@42 at line 42 of File/Spec/Functions.pm
# once (10µs+9µs) by constant::BEGIN@29 at line 29 of constant.pm
# once (10µs+9µs) by File::Temp::BEGIN@241 at line 241 of File/Temp.pm
# once (10µs+9µs) by Class::Struct::BEGIN@99 at line 99 of Class/Struct.pm
# once (9µs+9µs) by AutoLoader::BEGIN@138 at line 138 of AutoLoader.pm
# once (9µs+8µs) by Class::Struct::BEGIN@188 at line 188 of Class/Struct.pm
# once (9µs+9µs) by AutoLoader::BEGIN@186 at line 186 of AutoLoader.pm
# once (9µs+9µs) by constant::BEGIN@114 at line 114 of constant.pm
# once (8µs+9µs) by File::Temp::BEGIN@271 at line 271 of File/Temp.pm
# once (9µs+7µs) by constant::BEGIN@52 at line 52 of constant.pm
# once (9µs+8µs) by Compress::Raw::Zlib::BEGIN@79 at line 79 of Compress/Raw/Zlib.pm
# once (8µs+8µs) by Class::Struct::BEGIN@108 at line 108 of Class/Struct.pm | ||||
40 | 24 | 12µs | shift; | ||
41 | 24 | 275µs | 24 | 289µs | $^H &= ~ (@_ ? bits(@_) : $default_bits); # spent 289µs making 24 calls to strict::bits, avg 12µs/call |
42 | } | ||||
43 | |||||
44 | 1 | 48µs | 1; | ||
45 | __END__ | ||||
# spent 25µs within strict::CORE:match which was called:
# once (25µs+0s) by main::BEGIN@28 at line 6 | |||||
# spent 85µs within strict::CORE:regcomp which was called:
# once (85µs+0s) by main::BEGIN@28 at line 6 |