← Index
NYTProf Performance Profile   « line view »
For split.pl
  Run on Thu Apr 20 02:05:47 2023
Reported on Thu Apr 20 18:31:10 2023

Filename/usr/lib/x86_64-linux-gnu/perl-base/strict.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
676743271µs271µsstrict::::unimportstrict::unimport
118116110184µs184µsstrict::::importstrict::import
0000s0sstrict::::BEGINstrict::BEGIN
0000s0sstrict::::__ANON__[:31]strict::__ANON__[:31]
0000s0sstrict::::__ANON__[:37]strict::__ANON__[:37]
0000s0sstrict::::bitsstrict::bits
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
3$strict::VERSION = "1.12";
4
5my ( %bitmask, %explicit_bitmask );
6
7BEGIN {
8 # Verify that we're called correctly so that strictures will work.
9 # Can't use Carp, since Carp uses us!
10 # see also warnings.pm.
11 die sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2]
12 if __FILE__ !~ ( '(?x) \b '.__PACKAGE__.' \.pmc? \z' )
13 && __FILE__ =~ ( '(?x) \b (?i:'.__PACKAGE__.') \.pmc? \z' );
14
15 %bitmask = (
16 refs => 0x00000002,
17 subs => 0x00000200,
18 vars => 0x00000400,
19 );
20
21 %explicit_bitmask = (
22 refs => 0x00000020,
23 subs => 0x00000040,
24 vars => 0x00000080,
25 );
26
27 my $bits = 0;
28 $bits |= $_ for values %bitmask;
29
30 my $inline_all_bits = $bits;
31 *all_bits = sub () { $inline_all_bits };
32
33 $bits = 0;
34 $bits |= $_ for values %explicit_bitmask;
35
36 my $inline_all_explicit_bits = $bits;
37 *all_explicit_bits = sub () { $inline_all_explicit_bits };
38}
39
40sub bits {
41 my $bits = 0;
42 my @wrong;
43 foreach my $s (@_) {
44 if (exists $bitmask{$s}) {
45 $^H |= $explicit_bitmask{$s};
46
47 $bits |= $bitmask{$s};
48 }
49 else {
50 push @wrong, $s;
51 }
52 }
53 if (@wrong) {
54 require Carp;
55 Carp::croak("Unknown 'strict' tag(s) '@wrong'");
56 }
57 $bits;
58}
59
60
# spent 184µs within strict::import which was called 118 times, avg 2µs/call: # 3 times (3µs+0s) by strictures::_enable_2 at line 169 of strictures.pm, avg 1µs/call # once (5µs+0s) by Carp::Assert::BEGIN@4 at line 4 of Carp/Assert.pm # once (3µs+0s) by vars::BEGIN@8 at line 8 of vars.pm # once (3µs+0s) by IPC::Run::IO::BEGIN@65 at line 65 of IPC/Run/IO.pm # once (3µs+0s) by base::BEGIN@4 at line 4 of base.pm # once (3µs+0s) by Data::Printer::Config::BEGIN@2 at line 2 of Data/Printer/Config.pm # once (3µs+0s) by ExtUtils::MY::BEGIN@3 at line 3 of ExtUtils/MY.pm # once (3µs+0s) by Encode::MIME::Name::BEGIN@2 at line 2 of Encode/MIME/Name.pm # once (2µs+0s) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm # once (2µs+0s) by ExtUtils::MakeMaker::version::BEGIN@14 at line 14 of ExtUtils/MakeMaker/version.pm # once (2µs+0s) by ExtUtils::MM_Any::BEGIN@3 at line 3 of ExtUtils/MM_Any.pm # once (2µs+0s) by Fcntl::BEGIN@3 at line 3 of Fcntl.pm # once (2µs+0s) by ExtUtils::MM_Unix::BEGIN@5 at line 5 of ExtUtils/MM_Unix.pm # once (2µs+0s) by Symbol::BEGIN@88 at line 88 of Symbol.pm # once (2µs+0s) by re::BEGIN@4 at line 4 of re.pm # once (2µs+0s) by IPC::Open3::BEGIN@3 at line 3 of IPC/Open3.pm # once (2µs+0s) by lib::BEGIN@8 at line 8 of lib.pm # once (2µs+0s) by attributes::BEGIN@9 at line 9 of attributes.pm # once (2µs+0s) by Pod::Usage::BEGIN@13 at line 13 of Pod/Usage.pm # once (2µs+0s) by Pod::Simple::BEGIN@2 at line 2 of Pod/Simple/TiedOutFH.pm # once (2µs+0s) by Time::HiRes::BEGIN@4 at line 4 of Time/HiRes.pm # once (2µs+0s) by Pod::Simple::LinkSection::BEGIN@6 at line 6 of Pod/Simple/LinkSection.pm # once (2µs+0s) by main::BEGIN@2 at line 2 of Capture/Tiny.pm # once (2µs+0s) by main::BEGIN@15.7 at line 15 of Getopt/Long.pm # once (2µs+0s) by bytes::BEGIN@3 at line 3 of bytes.pm # once (2µs+0s) by PerlIO::encoding::BEGIN@3 at line 3 of PerlIO/encoding.pm # once (2µs+0s) by YAML::XS::LibYAML::BEGIN@3 at line 3 of YAML/XS/LibYAML.pm # once (2µs+0s) by IPC::Run::Timer::BEGIN@160 at line 160 of IPC/Run/Timer.pm # once (2µs+0s) by ExtUtils::MakeMaker::Locale::BEGIN@3 at line 3 of ExtUtils/MakeMaker/Locale.pm # once (2µs+0s) by JSON::BEGIN@4 at line 4 of JSON.pm # once (2µs+0s) by File::Glob::BEGIN@3 at line 3 of File/Glob.pm # once (2µs+0s) by Encode::Encoding::BEGIN@4 at line 4 of Encode/Encoding.pm # once (2µs+0s) by Cwd::BEGIN@2 at line 2 of Cwd.pm # once (2µs+0s) by Encode::Alias::BEGIN@2 at line 2 of Encode/Alias.pm # once (2µs+0s) by File::Temp::BEGIN@145 at line 145 of File/Temp.pm # once (2µs+0s) by File::Temp::Dir::BEGIN@2591 at line 2591 of File/Temp.pm # once (2µs+0s) by Contextual::Return::Failure::BEGIN@8 at line 8 of Contextual/Return/Failure.pm # once (2µs+0s) by File::Find::BEGIN@3 at line 3 of File/Find.pm # once (2µs+0s) by utf8::BEGIN@3 at line 3 of utf8.pm # once (2µs+0s) by main::BEGIN@1 at line 1 of YAML/XS.pm # once (2µs+0s) by Pod::Text::BEGIN@18 at line 18 of Pod/Text.pm # once (2µs+0s) by Want::BEGIN@3 at line 3 of DynaLoader.pm # once (2µs+0s) by File::Basename::BEGIN@12 at line 12 of File/Basename.pm # once (2µs+0s) by Data::Printer::Filter::GLOB::BEGIN@2 at line 2 of Data/Printer/Filter/GLOB.pm # once (2µs+0s) by Text::CSV::BEGIN@4 at line 4 of Text/CSV.pm # once (2µs+0s) by File::Slurp::BEGIN@3 at line 3 of File/Slurp.pm # once (2µs+0s) by Text::ParseWords::BEGIN@3 at line 3 of Text/ParseWords.pm # once (2µs+0s) by Data::Printer::Theme::BEGIN@2 at line 2 of Data/Printer/Theme.pm # once (2µs+0s) by builtin::BEGIN@3 at line 3 of builtin.pm # once (2µs+0s) by diagnostics::BEGIN@184 at line 184 of diagnostics.pm # once (2µs+0s) by if::BEGIN@2 at line 2 of if.pm # once (2µs+0s) by Params::Check::BEGIN@3 at line 3 of Params/Check.pm # once (2µs+0s) by Data::Printer::Filter::SCALAR::BEGIN@2 at line 2 of Data/Printer/Filter/SCALAR.pm # once (2µs+0s) by Exporter::BEGIN@3 at line 3 of Exporter.pm # once (2µs+0s) by parent::BEGIN@2 at line 2 of parent.pm # once (2µs+0s) by ExtUtils::Liblist::BEGIN@3 at line 3 of ExtUtils/Liblist.pm # once (2µs+0s) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm # once (1µs+0s) by Data::Printer::Filter::REF::BEGIN@2 at line 2 of Data/Printer/Filter/REF.pm # once (1µs+0s) by IO::Seekable::BEGIN@99 at line 99 of IO/Seekable.pm # once (1µs+0s) by Data::Printer::Filter::HASH::BEGIN@2 at line 2 of Data/Printer/Filter/HASH.pm # once (1µs+0s) by IPC::Cmd::BEGIN@3 at line 3 of IPC/Cmd.pm # once (1µs+0s) by Pod::Simple::BEGIN@4 at line 4 of Pod/Simple.pm # once (1µs+0s) by Text::CSV_XS::BEGIN@21 at line 21 of Text/CSV_XS.pm # once (1µs+0s) by diagnostics::BEGIN@1 at line 1 of Text/Tabs.pm # once (1µs+0s) by I18N::Langinfo::BEGIN@4 at line 4 of I18N/Langinfo.pm # once (1µs+0s) by ExtUtils::MM::BEGIN@3 at line 3 of ExtUtils/MM.pm # once (1µs+0s) by Encode::Config::BEGIN@7 at line 7 of Encode/Config.pm # once (1µs+0s) by IO::File::BEGIN@128 at line 128 of IO/File.pm # once (1µs+0s) by Errno::BEGIN@9 at line 9 of Errno.pm # once (1µs+0s) by ExtUtils::MakeMaker::BEGIN@4 at line 4 of ExtUtils/MakeMaker.pm # once (1µs+0s) by strictures::BEGIN@3 at line 3 of strictures.pm # once (1µs+0s) by constant::BEGIN@3 at line 3 of constant.pm # once (1µs+0s) by IO::Select::BEGIN@9 at line 9 of IO/Select.pm # once (1µs+0s) by Data::Printer::Filter::GenericClass::BEGIN@2 at line 2 of Data/Printer/Filter/GenericClass.pm # once (1µs+0s) by Config::BEGIN@9 at line 9 of Config.pm # once (1µs+0s) by Pod::Simple::BEGIN@1521 at line 1521 of Pod/Simple.pm # once (1µs+0s) by Want::BEGIN@5 at line 5 of Want.pm # once (1µs+0s) by Data::Printer::Filter::FORMAT::BEGIN@2 at line 2 of Data/Printer/Filter/FORMAT.pm # once (1µs+0s) by IPC::Run::BEGIN@1013 at line 1013 of IPC/Run.pm # once (1µs+0s) by List::Util::BEGIN@9 at line 9 of List/Util.pm # once (1µs+0s) by FileHandle::BEGIN@4 at line 4 of FileHandle.pm # once (1µs+0s) by Socket::BEGIN@3 at line 3 of Socket.pm # once (1µs+0s) by POSIX::BEGIN@2 at line 2 of POSIX.pm # once (1µs+0s) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm # once (1µs+0s) by version::BEGIN@5 at line 5 of version.pm # once (1µs+0s) by Data::Printer::BEGIN@2 at line 2 of Data/Printer.pm # once (1µs+0s) by Module::Load::Conditional::BEGIN@3 at line 3 of Module/Load/Conditional.pm # once (1µs+0s) by ExtUtils::Liblist::Kid::BEGIN@12 at line 12 of ExtUtils/Liblist/Kid.pm # once (1µs+0s) by File::Path::BEGIN@4 at line 4 of File/Path.pm # once (1µs+0s) by Module::Metadata::BEGIN@14 at line 14 of Module/Metadata.pm # once (1µs+0s) by Data::Printer::Filter::ARRAY::BEGIN@2 at line 2 of Data/Printer/Filter/ARRAY.pm # once (1µs+0s) by IPC::Run::BEGIN@1050 at line 1050 of IPC/Run.pm # once (1µs+0s) by Encode::BEGIN@5 at line 5 of Encode.pm # once (1µs+0s) by Data::Printer::Filter::CODE::BEGIN@2 at line 2 of Data/Printer/Filter/CODE.pm # once (1µs+0s) by Data::Printer::Filter::Regexp::BEGIN@2 at line 2 of Data/Printer/Filter/Regexp.pm # once (1µs+0s) by Data::Printer::Filter::VSTRING::BEGIN@2 at line 2 of Data/Printer/Filter/VSTRING.pm # once (1µs+0s) by Carp::BEGIN@4 at line 4 of Carp.pm # once (1µs+0s) by version::regex::BEGIN@3 at line 3 of version/regex.pm # once (1µs+0s) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm # once (1µs+0s) by overload::BEGIN@3 at line 3 of overload.pm # once (1µs+0s) by IPC::Run::Debug::BEGIN@69 at line 69 of IPC/Run/Debug.pm # once (1µs+0s) by IO::BEGIN@7 at line 7 of IO.pm # once (1µs+0s) by Data::Printer::Filter::BEGIN@2 at line 2 of Data/Printer/Filter.pm # once (1µs+0s) by ExtUtils::MakeMaker::Config::BEGIN@3 at line 3 of ExtUtils/MakeMaker/Config.pm # once (1µs+0s) by Locale::Maketext::Simple::BEGIN@4 at line 4 of Locale/Maketext/Simple.pm # once (1µs+0s) by IO::Handle::BEGIN@264 at line 264 of IO/Handle.pm # once (1µs+0s) by File::Find::BEGIN@13 at line 13 of File/Find.pm # once (1µs+0s) by Config::BEGIN@5 at line 5 of Config_heavy.pl # once (1µs+0s) by Data::Printer::BEGIN@1 at line 1 of Data/Printer/Object.pm # once (1µs+0s) by Pod::Escapes::BEGIN@2 at line 2 of Pod/Escapes.pm # once (1µs+0s) by Data::Printer::Common::BEGIN@3 at line 3 of Data/Printer/Common.pm # once (900ns+0s) by IO::Prompter::BEGIN@7 at line 7 of IO/Prompter.pm # once (900ns+0s) by Symbol::BEGIN@3 at line 3 of Symbol.pm # once (900ns+0s) by Module::Load::BEGIN@3 at line 3 of Module/Load.pm # once (800ns+0s) by Contextual::Return::BEGIN@3 at line 3 of Contextual/Return.pm # once (600ns+0s) by Pod::Simple::BlackBox::BEGIN@22 at line 22 of Pod/Simple/BlackBox.pm
sub import {
61 shift;
62 $^H |= @_ ? &bits : all_bits | all_explicit_bits;
63}
64
65
# spent 271µs within strict::unimport which was called 67 times, avg 4µs/call: # once (6µs+0s) by JSON::Backend::XS::BEGIN@13 at line 13 of (eval 13)[JSON.pm:295] # once (6µs+0s) by ExtUtils::MakeMaker::BEGIN@665 at line 665 of ExtUtils/MakeMaker.pm # once (6µs+0s) by Pod::Simple::BEGIN@1517 at line 1517 of Pod/Simple.pm # once (6µs+0s) by IO::Prompter::BEGIN@104 at line 104 of IO/Prompter.pm # once (6µs+0s) by Cwd::BEGIN@657 at line 657 of Cwd.pm # once (5µs+0s) by IO::Handle::BEGIN@609 at line 609 of IO/Handle.pm # once (5µs+0s) by Module::Load::Conditional::BEGIN@196 at line 196 of Module/Load/Conditional.pm # once (5µs+0s) by JSON::Backend::PP::BEGIN@342 at line 342 of JSON.pm # once (5µs+0s) by main::BEGIN@1212 at line 1212 of IO/Prompter.pm # once (5µs+0s) by Data::Printer::BEGIN@39 at line 39 of Data/Printer.pm # once (5µs+0s) by ExtUtils::MakeMaker::version::BEGIN@40 at line 40 of ExtUtils/MakeMaker/version.pm # once (5µs+0s) by Capture::Tiny::BEGIN@102 at line 102 of Capture/Tiny.pm # once (5µs+0s) by Data::Printer::Common::BEGIN@401 at line 401 of Data/Printer/Common.pm # once (5µs+0s) by Data::Printer::Object::BEGIN@76 at line 76 of Data/Printer/Object.pm # once (5µs+0s) by IPC::Open3::BEGIN@4 at line 4 of IPC/Open3.pm # once (5µs+0s) by constant::BEGIN@40 at line 40 of constant.pm # once (5µs+0s) by IO::Prompter::BEGIN@1689 at line 1689 of IO/Prompter.pm # once (5µs+0s) by Time::HiRes::BEGIN@70 at line 70 of Time/HiRes.pm # once (5µs+0s) by Contextual::Return::BEGIN@670 at line 670 of Contextual/Return.pm # once (5µs+0s) by Text::CSV::BEGIN@122 at line 122 of Text/CSV.pm # once (5µs+0s) by Carp::BEGIN@728 at line 728 of Carp.pm # once (5µs+0s) by Carp::BEGIN@187 at line 187 of Carp.pm # once (5µs+0s) by File::Temp::BEGIN@240 at line 240 of File/Temp.pm # once (5µs+0s) by DynaLoader::BEGIN@109 at line 109 of DynaLoader.pm # once (5µs+0s) by Contextual::Return::BEGIN@145 at line 145 of Contextual/Return.pm # once (5µs+0s) by List::Util::BEGIN@35 at line 35 of List/Util.pm # once (5µs+0s) by Socket::BEGIN@843 at line 843 of Socket.pm # once (4µs+0s) by ExtUtils::MakeMaker::Config::BEGIN@17 at line 17 of ExtUtils/MakeMaker/Config.pm # once (4µs+0s) by Symbol::BEGIN@25 at line 25 of Symbol.pm # once (4µs+0s) by File::Path::BEGIN@29 at line 29 of File/Path.pm # once (4µs+0s) by Contextual::Return::BEGIN@313 at line 313 of Contextual/Return.pm # once (4µs+0s) by parent::BEGIN@21 at line 21 of parent.pm # once (4µs+0s) by FileHandle::BEGIN@46 at line 46 of FileHandle.pm # once (4µs+0s) by Carp::BEGIN@254 at line 254 of Carp.pm # once (4µs+0s) by Module::Load::BEGIN@14 at line 14 of Module/Load.pm # once (4µs+0s) by Locale::Maketext::Simple::BEGIN@122 at line 122 of Locale/Maketext/Simple.pm # once (4µs+0s) by ExtUtils::MakeMaker::BEGIN@1178 at line 1178 of ExtUtils/MakeMaker.pm # once (4µs+0s) by ExtUtils::MakeMaker::Locale::BEGIN@141 at line 141 of ExtUtils/MakeMaker/Locale.pm # once (4µs+0s) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm # once (4µs+0s) by Contextual::Return::BEGIN@809 at line 809 of Contextual/Return.pm # once (4µs+0s) by IPC::Cmd::BEGIN@357 at line 357 of IPC/Cmd.pm # once (4µs+0s) by File::Spec::Unix::BEGIN@167 at line 167 of File/Spec/Unix.pm # once (4µs+0s) by Contextual::Return::BEGIN@223 at line 223 of Contextual/Return.pm # once (4µs+0s) by Symbol::BEGIN@59 at line 59 of Symbol.pm # once (3µs+0s) by Data::Printer::Theme::BEGIN@95 at line 95 of Data/Printer/Theme.pm # once (3µs+0s) by JSON::Backend::XS::BEGIN@51 at line 51 of (eval 13)[JSON.pm:295] # once (3µs+0s) by File::Temp::BEGIN@270 at line 270 of File/Temp.pm # once (3µs+0s) by Data::Printer::Filter::BEGIN@26 at line 26 of Data/Printer/Filter.pm # once (3µs+0s) by Config::BEGIN@47 at line 47 of Config.pm # once (3µs+0s) by Module::Load::BEGIN@89 at line 89 of Module/Load.pm # once (3µs+0s) by Socket::BEGIN@942 at line 942 of Socket.pm # once (3µs+0s) by version::BEGIN@27 at line 27 of version.pm # once (3µs+0s) by constant::BEGIN@65 at line 65 of constant.pm # once (3µs+0s) by Data::Printer::Common::BEGIN@428 at line 428 of Data/Printer/Common.pm # once (3µs+0s) by IO::Prompter::BEGIN@118 at line 118 of IO/Prompter.pm # once (3µs+0s) by Contextual::Return::BEGIN@354 at line 354 of Contextual/Return.pm # once (3µs+0s) by Symbol::BEGIN@78 at line 78 of Symbol.pm # once (3µs+0s) by Carp::BEGIN@749 at line 749 of Carp.pm # once (3µs+0s) by overload::BEGIN@4 at line 4 of overload.pm # once (3µs+0s) by ExtUtils::MakeMaker::Locale::BEGIN@147 at line 147 of ExtUtils/MakeMaker/Locale.pm # once (2µs+0s) by ExtUtils::MakeMaker::BEGIN@1161 at line 1161 of ExtUtils/MakeMaker.pm # once (2µs+0s) by constant::BEGIN@90 at line 90 of constant.pm # once (2µs+0s) by POSIX::BEGIN@225 at line 225 of POSIX.pm # once (2µs+0s) by ExtUtils::MakeMaker::_version::BEGIN@3021 at line 3021 of ExtUtils/MM_Unix.pm # once (2µs+0s) by Exporter::BEGIN@4 at line 4 of Exporter.pm # once (2µs+0s) by constant::BEGIN@141 at line 141 of constant.pm # once (2µs+0s) by File::Glob::BEGIN@54 at line 54 of File/Glob.pm
sub unimport {
66 shift;
67
68 if (@_) {
69 $^H &= ~&bits;
70 }
71 else {
72 $^H &= ~all_bits;
73 $^H |= all_explicit_bits;
74 }
75}
76
771;
78__END__
79