← Index
NYTProf Performance Profile   « line view »
For webmerge/scripts/webmerge.pl
  Run on Mon Oct 7 02:42:42 2013
Reported on Mon Oct 7 03:03:17 2013

Filename/usr/lib64/perl5/5.16.0/strict.pm
StatementsExecuted 2381 statements in 17.8ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
161219.39ms9.39msstrict::::bitsstrict::bits
1271271244.49ms12.3msstrict::::importstrict::import
3434211.25ms2.86msstrict::::unimportstrict::unimport
11171µs71µsstrict::::CORE:regcompstrict::CORE:regcomp (opcode)
11131µs31µ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
314µs$strict::VERSION = "1.07";
4
5# Verify that we're called correctly so that strictures will work.
61183µs2102µsunless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
# spent 71µs making 1 call to strict::CORE:regcomp # spent 31µ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
12114µsmy %bitmask = (
13refs => 0x00000002,
14subs => 0x00000200,
15vars => 0x00000400
16);
1716µsmy %explicit_bitmask = (
18refs => 0x00000020,
19subs => 0x00000040,
20vars => 0x00000080
21);
22
23
# spent 9.39ms within strict::bits which was called 161 times, avg 58µs/call: # 127 times (7.79ms+0s) by strict::import at line 44, avg 61µs/call # 34 times (1.61ms+0s) by strict::unimport at line 49, avg 47µs/call
sub bits {
24161390µs my $bits = 0;
25161168µs my @wrong;
261611.06ms foreach my $s (@_) {
274161.36ms if (exists $bitmask{$s}) {
284162.51ms $^H |= $explicit_bitmask{$s};
29 }
30 else { push @wrong, $s };
314161.97ms $bits |= $bitmask{$s} || 0;
32 }
33161275µs if (@wrong) {
34 require Carp;
35 Carp::croak("Unknown 'strict' tag(s) '@wrong'");
36 }
371613.37ms $bits;
38}
39
4016µsmy @default_bits = qw(refs subs vars);
41
42
# spent 12.3ms (4.49+7.79) within strict::import which was called 127 times, avg 97µs/call: # once (73µs+68µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Collection.pm # once (35µs+94µs) by IO::BEGIN@7 at line 7 of IO.pm # once (44µs+76µs) by Getopt::Long::BEGIN@17 at line 17 of Getopt/Long.pm # once (50µs+64µs) by OCBNET::Spritesets::Canvas::Optimize::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm # once (40µs+71µs) by Carp::BEGIN@4 at line 4 of Carp.pm # once (43µs+65µs) by IO::WrapTie::BEGIN@8 at line 8 of IO/WrapTie.pm # once (42µs+65µs) by Pod::Select::BEGIN@11 at line 11 of Pod/Select.pm # once (40µs+67µs) by attributes::BEGIN@9 at line 9 of attributes.pm # once (43µs+64µs) by OCBNET::Spritesets::Block::BEGIN@11 at line 11 of webmerge/scripts/modules/OCBNET/Spritesets/Block.pm # once (42µs+64µs) by AutoLoader::BEGIN@3 at line 3 of AutoLoader.pm # once (42µs+64µs) by File::MimeInfo::BEGIN@3 at line 3 of File/MimeInfo.pm # once (40µs+66µs) by Encode::Alias::BEGIN@2 at line 2 of Encode/Alias.pm # once (41µs+65µs) by Encode::Config::BEGIN@7 at line 7 of Encode/Config.pm # once (41µs+64µs) by Pod::Text::BEGIN@28 at line 28 of Pod/Text.pm # once (42µs+64µs) by Encode::Encoding::BEGIN@4 at line 4 of Encode/Encoding.pm # once (39µs+66µs) by List::Util::BEGIN@11 at line 11 of List/Util.pm # once (39µs+66µs) by File::MimeInfo::Magic::BEGIN@4 at line 4 of File/MimeInfo/Magic.pm # once (40µs+64µs) by File::Glob::BEGIN@3 at line 3 of File/Glob.pm # once (40µs+64µs) by XML::LibXML::NodeList::BEGIN@12 at line 12 of XML/LibXML/NodeList.pm # once (38µs+65µs) by OCBNET::Spritesets::Canvas::Distribute::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Distribute.pm # once (40µs+63µs) by OCBNET::CSS::Parser::CSS::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/CSS/Parser/CSS.pm # once (37µs+66µs) by Pod::Usage::BEGIN@11 at line 11 of Pod/Usage.pm # once (36µs+66µs) by OCBNET::Packer::2D::BEGIN@11 at line 11 of webmerge/scripts/modules/OCBNET/Packer/2D.pm # once (40µs+62µs) by Digest::base::BEGIN@3 at line 3 of Digest/base.pm # once (38µs+65µs) by Pod::Escapes::BEGIN@22 at line 22 of Pod/Escapes.pm # once (34µs+68µs) by OCBNET::Spritesets::Fit::BEGIN@11 at line 11 of webmerge/scripts/modules/OCBNET/Spritesets/Fit.pm # once (37µs+65µs) by Graphics::Magick::BEGIN@15 at line 15 of Graphics/Magick.pm # once (38µs+64µs) by XML::LibXML::XPathContext::BEGIN@12 at line 12 of XML/LibXML/XPathContext.pm # once (39µs+63µs) by RTP::IO::AtomicFile::BEGIN@11 at line 11 of webmerge/scripts/modules/RTP/IO/AtomicFile.pm # once (39µs+62µs) by XML::LibXML::Error::BEGIN@11 at line 11 of XML/LibXML/Error.pm # once (38µs+63µs) by OCBNET::Spritesets::Stack::BEGIN@11 at line 11 of webmerge/scripts/modules/OCBNET/Spritesets/Stack.pm # once (37µs+64µs) by MIME::Base64::BEGIN@3 at line 3 of MIME/Base64.pm # once (40µs+61µs) by Config::BEGIN@9 at line 9 of Config.pm # once (38µs+62µs) by Fcntl::BEGIN@58 at line 58 of Fcntl.pm # once (36µs+64µs) by OCBNET::Spritesets::Edge::BEGIN@12 at line 12 of webmerge/scripts/modules/OCBNET/Spritesets/Edge.pm # once (39µs+62µs) by Pod::InputObjects::BEGIN@12 at line 12 of Pod/InputObjects.pm # once (38µs+62µs) by OCBNET::Spritesets::Corner::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Corner.pm # once (33µs+68µs) by RTP::Webmerge::Merge::CSS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (36µs+64µs) by OCBNET::Spritesets::Canvas::BEGIN@13 at line 13 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm # once (39µs+62µs) by JSON::BEGIN@4 at line 4 of JSON.pm # once (36µs+65µs) by utf8::BEGIN@2 at line 2 of utf8_heavy.pl # once (36µs+64µs) by Pod::Simple::BEGIN@4 at line 4 of Pod/Simple.pm # once (36µs+64µs) by POSIX::BEGIN@2 at line 2 of POSIX.pm # once (35µs+64µs) by OCBNET::Spritesets::Sprite::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm # once (38µs+62µs) by Cwd::BEGIN@170 at line 170 of Cwd.pm # once (36µs+63µs) by OCBNET::Spritesets::Container::BEGIN@11 at line 11 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm # once (36µs+63µs) by Socket::BEGIN@3 at line 3 of Socket.pm # once (35µs+64µs) by Encode::BEGIN@5 at line 5 of Encode.pm # once (35µs+64µs) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm # once (34µs+65µs) by File::Temp::BEGIN@142 at line 142 of File/Temp.pm # once (36µs+63µs) by XML::SAX::ParserFactory::BEGIN@5 at line 5 of XML/SAX/ParserFactory.pm # once (38µs+61µs) by OCBNET::Spritesets::Canvas::Layout::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm # once (38µs+61µs) by OCBNET::CSS::Parser::Base::BEGIN@8 at line 8 of webmerge/scripts/modules/OCBNET/CSS/Parser/Base.pm # once (36µs+63µs) by XML::LibXML::SAX::BEGIN@12 at line 12 of XML/LibXML/SAX.pm # once (37µs+62µs) by OCBNET::CSS::Parser::Colors::BEGIN@8 at line 8 of webmerge/scripts/modules/OCBNET/CSS/Parser/Colors.pm # once (35µs+64µs) by OCBNET::Spritesets::Canvas::Repeater::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Repeater.pm # once (38µs+61µs) by Fork::Queue::BEGIN@5 at line 5 of webmerge/scripts/modules/Fork/Queue.pm # once (35µs+63µs) by XML::LibXML::BEGIN@13 at line 13 of XML/LibXML.pm # once (36µs+62µs) by File::BaseDir::BEGIN@3 at line 3 of File/BaseDir.pm # once (36µs+62µs) by Pod::Parser::BEGIN@11 at line 11 of Pod/Parser.pm # once (34µs+63µs) by constant::BEGIN@3 at line 3 of constant.pm # once (38µs+59µs) by IO::AtomicFile::BEGIN@6 at line 6 of IO/AtomicFile.pm # once (36µs+61µs) by XML::SAX::BEGIN@5 at line 5 of XML/SAX.pm # once (34µs+63µs) by File::Path::BEGIN@4 at line 4 of File/Path.pm # once (35µs+62µs) by OCBNET::Spritesets::CSS::Block::BEGIN@14 at line 14 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Block.pm # once (35µs+62µs) by XML::LibXML::Literal::BEGIN@13 at line 13 of XML/LibXML/Literal.pm # once (36µs+60µs) by Digest::MD5::BEGIN@3 at line 3 of Digest/MD5.pm # once (31µs+65µs) by IPC::Run3::BEGIN@3 at line 3 of IPC/Run3.pm # once (36µs+60µs) by OCBNET::CSS::Parser::Selectors::BEGIN@10 at line 10 of webmerge/scripts/modules/OCBNET/CSS/Parser/Selectors.pm # once (32µs+63µs) by XML::Simple::BEGIN@40 at line 40 of XML/Simple.pm # once (36µs+60µs) by RTP::Webmerge::Process::CSS::SCSS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/SCSS.pm # once (35µs+61µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@19 at line 19 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (33µs+62µs) by XML::LibXML::Number::BEGIN@13 at line 13 of XML/LibXML/Number.pm # once (32µs+63µs) by XML::SAX::Base::BEGIN@37 at line 37 of XML/SAX/Base.pm # once (32µs+63µs) by File::Basename::BEGIN@50 at line 50 of File/Basename.pm # once (33µs+62µs) by Data::Dump::PHP::BEGIN@5 at line 5 of Data/Dump/PHP.pm # once (36µs+59µs) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm # once (32µs+62µs) by XML::LibXML::Boolean::BEGIN@14 at line 14 of XML/LibXML/Boolean.pm # once (35µs+59µs) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm # once (33µs+61µs) by XML::SAX::Exception::BEGIN@6 at line 6 of XML/SAX/Exception.pm # once (33µs+61µs) by IO::File::BEGIN@128 at line 128 of IO/File.pm # once (33µs+61µs) by RTP::Webmerge::HeadInc::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (32µs+61µs) by File::Spec::Functions::BEGIN@4 at line 4 of File/Spec/Functions.pm # once (33µs+60µs) by IO::Handle::BEGIN@261 at line 261 of IO/Handle.pm # once (33µs+60µs) by Pod::Simple::LinkSection::BEGIN@8 at line 8 of Pod/Simple/LinkSection.pm # once (32µs+60µs) by List::MoreUtils::BEGIN@4 at line 4 of List/MoreUtils.pm # once (33µs+58µs) by main::BEGIN@8 at line 8 of webmerge/scripts/webmerge.pl # once (31µs+61µs) by File::Which::BEGIN@4 at line 4 of File/Which.pm # once (34µs+57µs) by RTP::Webmerge::IO::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/IO.pm # once (30µs+60µs) by Errno::BEGIN@9 at line 9 of Errno.pm # once (33µs+57µs) by IO::WrapTie::Master::BEGIN@34 at line 34 of IO/WrapTie.pm # once (32µs+58µs) by RTP::Webmerge::Embedder::PHP::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Embedder/PHP.pm # once (33µs+57µs) by RTP::Webmerge::Embedder::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Embedder/JS.pm # once (32µs+58µs) by RTP::Webmerge::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge.pm # once (32µs+57µs) by RTP::Webmerge::Compile::CSS::BEGIN@14 at line 14 of webmerge/scripts/modules/RTP/Webmerge/Compile/CSS.pm # once (32µs+57µs) by RTP::Webmerge::Watchdog::BEGIN@13 at line 13 of webmerge/scripts/modules/RTP/Webmerge/Watchdog.pm # once (31µs+58µs) by RTP::Webmerge::IO::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/IO/JS.pm # once (31µs+58µs) by RTP::Webmerge::Embedder::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Embedder.pm # once (32µs+57µs) by File::Temp::Dir::BEGIN@2406 at line 2406 of File/Temp.pm # once (30µs+59µs) by RTP::Webmerge::Optimize::MNG::BEGIN@12 at line 12 of webmerge/scripts/modules/RTP/Webmerge/Optimize/MNG.pm # once (30µs+59µs) by RTP::Webmerge::Process::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Process/JS.pm # once (32µs+57µs) by RTP::Webmerge::Fingerprint::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Fingerprint.pm # once (31µs+57µs) by RTP::Webmerge::Optimize::GIF::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GIF.pm # once (33µs+56µs) by RTP::Webmerge::Optimize::JPG::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Optimize/JPG.pm # once (31µs+57µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (30µs+58µs) by RTP::Webmerge::Process::CSS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS.pm # once (33µs+55µs) by RTP::Webmerge::Optimize::PNG::BEGIN@12 at line 12 of webmerge/scripts/modules/RTP/Webmerge/Optimize/PNG.pm # once (31µs+57µs) by RTP::Webmerge::Merge::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (30µs+57µs) by RTP::Webmerge::Compile::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Compile/JS.pm # once (31µs+57µs) by RTP::Webmerge::Include::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Include/JS.pm # once (31µs+56µs) by IO::Seekable::BEGIN@99 at line 99 of IO/Seekable.pm # once (30µs+58µs) by RTP::Webmerge::IO::CSS::BEGIN@11 at line 11 of webmerge/scripts/modules/RTP/Webmerge/IO/CSS.pm # once (32µs+56µs) by RTP::Webmerge::Optimize::BEGIN@12 at line 12 of webmerge/scripts/modules/RTP/Webmerge/Optimize.pm # once (31µs+56µs) by RTP::Webmerge::Path::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Path.pm # once (30µs+57µs) by RTP::Webmerge::Optimize::ZIP::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Optimize/ZIP.pm # once (30µs+56µs) by RTP::Webmerge::Merge::JS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (31µs+56µs) by IO::Scalar::BEGIN@150 at line 150 of IO/Scalar.pm # once (30µs+57µs) by RTP::Webmerge::Prepare::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Prepare.pm # once (30µs+56µs) by RTP::Webmerge::Optimize::TXT::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Optimize/TXT.pm # once (30µs+56µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (31µs+55µs) by Pod::Simple::BlackBox::BEGIN@23 at line 23 of Pod/Simple/BlackBox.pm # once (33µs+53µs) by Pod::Simple::BEGIN@1438 at line 1438 of Pod/Simple.pm # once (30µs+55µs) by RTP::Webmerge::Optimize::GZ::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GZ.pm # once (30µs+56µs) by RTP::Webmerge::Include::CSS::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Include/CSS.pm # once (30µs+54µs) by RTP::Webmerge::Checksum::BEGIN@9 at line 9 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (32µs+49µs) by vars::BEGIN@8 at line 8 of vars.pm # once (36µs+45µs) by base::BEGIN@3 at line 3 of base.pm
sub import {
43127175µs shift;
441274.84ms1277.79ms $^H |= bits(@_ ? @_ : @default_bits);
# spent 7.79ms making 127 calls to strict::bits, avg 61µs/call
45}
46
47
# spent 2.86ms (1.25+1.61) within strict::unimport which was called 34 times, avg 84µs/call: # once (42µs+100µs) by File::Path::BEGIN@329 at line 329 of File/Path.pm # once (43µs+67µs) by POSIX::BEGIN@204 at line 204 of POSIX.pm # once (45µs+50µs) by Pod::Simple::BEGIN@1434 at line 1434 of Pod/Simple.pm # once (43µs+52µs) by Cwd::BEGIN@823 at line 823 of Cwd.pm # once (44µs+49µs) by utf8::BEGIN@654 at line 654 of utf8_heavy.pl # once (42µs+49µs) by IO::Handle::BEGIN@613 at line 613 of IO/Handle.pm # once (41µs+50µs) by Socket::BEGIN@913 at line 913 of Socket.pm # once (42µs+48µs) by JSON::BEGIN@318 at line 318 of JSON.pm # once (40µs+49µs) by AutoLoader::BEGIN@138 at line 138 of AutoLoader.pm # once (39µs+49µs) by XML::LibXML::XPathContext::BEGIN@141 at line 141 of XML/LibXML/XPathContext.pm # once (41µs+46µs) by Carp::BEGIN@398 at line 398 of Carp.pm # once (32µs+55µs) by File::Glob::BEGIN@56 at line 56 of File/Glob.pm # once (40µs+46µs) by File::Spec::Unix::BEGIN@149 at line 149 of File/Spec/Unix.pm # once (38µs+46µs) by JSON::Backend::PP::BEGIN@383 at line 383 of JSON.pm # once (32µs+52µs) by File::Temp::BEGIN@271 at line 271 of File/Temp.pm # once (36µs+48µs) by File::Temp::BEGIN@241 at line 241 of File/Temp.pm # once (37µs+47µs) by constant::BEGIN@65 at line 65 of constant.pm # once (38µs+43µs) by Carp::BEGIN@8 at line 8 of Carp.pm # once (35µs+46µs) by XML::LibXML::Error::BEGIN@83 at line 83 of XML/LibXML/Error.pm # once (38µs+43µs) by Carp::BEGIN@67 at line 67 of Carp.pm # once (34µs+46µs) by JSON::Backend::XS::BEGIN@29 at line 29 of (eval 18)[JSON.pm:268] # once (36µs+43µs) by JSON::Backend::XS::BEGIN@42 at line 42 of (eval 18)[JSON.pm:268] # once (36µs+42µs) by Config::BEGIN@45 at line 45 of Config.pm # once (36µs+42µs) by utf8::BEGIN@153 at line 153 of utf8_heavy.pl # once (34µs+43µs) by JSON::Backend::XS::Supportable::BEGIN@99 at line 99 of (eval 18)[JSON.pm:268] # once (35µs+42µs) by constant::BEGIN@29 at line 29 of constant.pm # once (33µs+43µs) by File::Spec::Functions::BEGIN@42 at line 42 of File/Spec/Functions.pm # once (34µs+41µs) by constant::BEGIN@127 at line 127 of constant.pm # once (35µs+40µs) by AutoLoader::BEGIN@186 at line 186 of AutoLoader.pm # once (34µs+41µs) by Carp::BEGIN@18 at line 18 of Carp.pm # once (33µs+41µs) by File::MimeInfo::Magic::BEGIN@12 at line 12 of File/MimeInfo/Magic.pm # once (32µs+39µs) by AutoLoader::BEGIN@30 at line 30 of AutoLoader.pm # once (29µs+38µs) by Carp::BEGIN@413 at line 413 of Carp.pm # once (28µs+31µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm
sub unimport {
483441µs shift;
49341.41ms341.61ms $^H &= ~ bits(@_ ? @_ : @default_bits);
# spent 1.61ms making 34 calls to strict::bits, avg 47µs/call
50}
51
52146µs1;
53__END__
 
# spent 31µs within strict::CORE:match which was called: # once (31µs+0s) by Carp::BEGIN@4 at line 6
sub strict::CORE:match; # opcode
# spent 71µs within strict::CORE:regcomp which was called: # once (71µs+0s) by Carp::BEGIN@4 at line 6
sub strict::CORE:regcomp; # opcode