← 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/Exporter.pm
StatementsExecuted 3631 statements in 117ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
22822683102ms136msExporter::::importExporter::import
513111.5ms12.8msExporter::::as_heavyExporter::as_heavy
1088213.89ms3.89msExporter::::CORE:substExporter::CORE:subst (opcode)
810213.00ms3.00msExporter::::CORE:matchExporter::CORE:match (opcode)
46221.35ms13.6msExporter::::exportExporter::export
422126µs460µsExporter::::export_to_levelExporter::export_to_level
11144µs198µsExporter::::export_tagsExporter::export_tags
0000s0sExporter::::__ANON__[:64]Exporter::__ANON__[:64]
0000s0sExporter::::export_failExporter::export_fail
0000s0sExporter::::export_ok_tagsExporter::export_ok_tags
0000s0sExporter::::require_versionExporter::require_version
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Exporter;
2
3158µsrequire 5.006;
4
5# Be lean.
6#use strict;
7#no strict 'refs';
8
912µsour $Debug = 0;
1011µsour $ExportLevel = 0;
1112µsour $Verbose ||= 0;
1214µsour $VERSION = '5.66';
1311µsour (%Cache);
14
15
# spent 12.8ms (11.5+1.24) within Exporter::as_heavy which was called 51 times, avg 250µs/call: # 46 times (11.1ms+1.14ms) by Exporter::export at line 25, avg 267µs/call # 4 times (256µs+77µs) by Exporter::export_to_level at line 81, avg 83µs/call # once (132µs+22µs) by Exporter::export_tags at line 85
sub as_heavy {
1651722µs require Exporter::Heavy;
17 # Unfortunately, this does not work if the caller is aliased as *name = \&foo
18 # Thus the need to create a lot of identical subroutines
1951893µs my $c = (caller(1))[3];
20511.58ms51801µs $c =~ s/.*:://;
# spent 801µs making 51 calls to Exporter::CORE:subst, avg 16µs/call
21511.33ms \&{"Exporter::Heavy::heavy_$c"};
22}
23
24
# spent 13.6ms (1.35+12.3) within Exporter::export which was called 46 times, avg 296µs/call: # 42 times (1.25ms+12.1ms) by Exporter::import at line 62, avg 317µs/call # 4 times (99µs+201µs) by Exporter::Heavy::heavy_export_to_level at line 214 of Exporter/Heavy.pm, avg 75µs/call
sub export {
25461.57ms9230.9ms goto &{as_heavy()};
# spent 18.7ms making 46 calls to Exporter::Heavy::heavy_export, avg 405µs/call # spent 12.3ms making 46 calls to Exporter::as_heavy, avg 267µs/call
26}
27
28
# spent 136ms (102+33.8) within Exporter::import which was called 228 times, avg 596µs/call: # 3 times (773µs+47µs) by File::Glob::import at line 47 of File/Glob.pm, avg 273µs/call # once (36.6ms+386µs) by Fork::Queue::BEGIN@8 at line 8 of webmerge/scripts/modules/Fork/Queue.pm # once (9.11ms+2.29ms) by POSIX::import at line 30 of POSIX.pm # once (361µs+9.62ms) by main::BEGIN@16 at line 16 of webmerge/scripts/webmerge.pl # once (2.31ms+230µs) by RTP::Webmerge::IO::BEGIN@38 at line 38 of webmerge/scripts/modules/RTP/Webmerge/IO.pm # once (2.01ms+142µs) by File::Temp::BEGIN@146 at line 146 of File/Temp.pm # once (1.16ms+100µs) by POSIX::BEGIN@11 at line 11 of POSIX.pm # once (1.06ms+65µs) by IO::AtomicFile::BEGIN@9 at line 148 of IO/File.pm # once (938µs+74µs) by XML::LibXML::SAX::BEGIN@23 at line 23 of XML/LibXML/SAX.pm # once (907µs+80µs) by IO::AtomicFile::BEGIN@9 at line 9 of IO/AtomicFile.pm # once (344µs+555µs) by Getopt::Long::import at line 113 of Getopt/Long.pm # once (312µs+462µs) by RTP::Webmerge::Merge::JS::BEGIN@41 at line 41 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (120µs+651µs) by RTP::Webmerge::Optimize::GZ::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GZ.pm # once (696µs+63µs) by Pod::Text::BEGIN@32 at line 32 of Pod/Text.pm # once (120µs+617µs) by RTP::Webmerge::Optimize::MNG::BEGIN@33 at line 33 of webmerge/scripts/modules/RTP/Webmerge/Optimize/MNG.pm # once (118µs+613µs) by RTP::Webmerge::Optimize::ZIP::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Optimize/ZIP.pm # once (134µs+575µs) by OCBNET::CSS::Parser::Selectors::BEGIN@29 at line 29 of webmerge/scripts/modules/OCBNET/CSS/Parser/Selectors.pm # once (117µs+592µs) by RTP::Webmerge::Optimize::PNG::BEGIN@34 at line 34 of webmerge/scripts/modules/RTP/Webmerge/Optimize/PNG.pm # once (134µs+569µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@15 at line 15 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Collection.pm # once (641µs+59µs) by OCBNET::Spritesets::Canvas::Layout::BEGIN@31 at line 31 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm # once (130µs+563µs) by RTP::Webmerge::Merge::CSS::BEGIN@41 at line 41 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (130µs+553µs) by RTP::Webmerge::Optimize::TXT::BEGIN@72 at line 72 of webmerge/scripts/modules/RTP/Webmerge/Optimize/TXT.pm # once (116µs+567µs) by RTP::Webmerge::Optimize::GIF::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GIF.pm # once (148µs+534µs) by OCBNET::CSS::Parser::Colors::BEGIN@204 at line 204 of webmerge/scripts/modules/OCBNET/CSS/Parser/Colors.pm # once (114µs+553µs) by RTP::Webmerge::Optimize::JPG::BEGIN@30 at line 30 of webmerge/scripts/modules/RTP/Webmerge/Optimize/JPG.pm # once (239µs+389µs) by OCBNET::CSS::Parser::CSS::BEGIN@30 at line 30 of webmerge/scripts/modules/OCBNET/CSS/Parser/CSS.pm # once (121µs+495µs) by RTP::Webmerge::Process::JS::BEGIN@25 at line 25 of webmerge/scripts/modules/RTP/Webmerge/Process/JS.pm # once (594µs+10µs) by main::BEGIN@35 at line 35 of webmerge/scripts/webmerge.pl # once (101µs+500µs) by RTP::Webmerge::Merge::JS::BEGIN@43 at line 43 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (124µs+471µs) by RTP::Webmerge::Compile::JS::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Compile/JS.pm # once (108µs+482µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@40 at line 40 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (133µs+456µs) by OCBNET::Spritesets::CSS::Block::BEGIN@23 at line 23 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Block.pm # once (209µs+377µs) by RTP::Webmerge::IO::CSS::BEGIN@179 at line 179 of webmerge/scripts/modules/RTP/Webmerge/IO/CSS.pm # once (123µs+460µs) by RTP::Webmerge::Merge::JS::BEGIN@42 at line 42 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (208µs+366µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@38 at line 38 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (104µs+462µs) by RTP::Webmerge::Merge::CSS::BEGIN@42 at line 42 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (176µs+389µs) by RTP::Webmerge::Fingerprint::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Fingerprint.pm # once (133µs+424µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@314 at line 314 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (163µs+371µs) by RTP::Webmerge::Merge::JS::BEGIN@70 at line 70 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (115µs+419µs) by RTP::Webmerge::Include::JS::BEGIN@25 at line 25 of webmerge/scripts/modules/RTP/Webmerge/Include/JS.pm # once (120µs+412µs) by OCBNET::CSS::Parser::CSS::BEGIN@29 at line 29 of webmerge/scripts/modules/OCBNET/CSS/Parser/CSS.pm # once (98µs+429µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@42 at line 42 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (131µs+391µs) by RTP::Webmerge::Process::CSS::SCSS::BEGIN@69 at line 69 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/SCSS.pm # once (99µs+419µs) by RTP::Webmerge::Merge::BEGIN@53 at line 53 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (470µs+46µs) by IPC::Run3::BEGIN@55 at line 55 of IPC/Run3.pm # once (133µs+379µs) by RTP::Webmerge::Merge::CSS::BEGIN@58 at line 58 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (127µs+383µs) by RTP::Webmerge::Compile::CSS::BEGIN@41 at line 41 of webmerge/scripts/modules/RTP/Webmerge/Compile/CSS.pm # once (454µs+37µs) by RTP::Webmerge::Path::BEGIN@43 at line 43 of webmerge/scripts/modules/RTP/Webmerge/Path.pm # once (125µs+365µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@140 at line 140 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (125µs+355µs) by RTP::Webmerge::Merge::BEGIN@71 at line 71 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (118µs+359µs) by RTP::Webmerge::Embedder::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Embedder.pm # once (129µs+348µs) by RTP::Webmerge::Merge::BEGIN@70 at line 70 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (142µs+334µs) by OCBNET::Spritesets::CSS::Collection::BEGIN@16 at line 16 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Collection.pm # once (104µs+357µs) by RTP::Webmerge::HeadInc::BEGIN@34 at line 34 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (425µs+34µs) by FindBin::BEGIN@83 at line 83 of FindBin.pm # once (102µs+329µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@42 at line 42 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (405µs+12µs) by File::Temp::BEGIN@143 at line 143 of File/Temp.pm # once (106µs+310µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@39 at line 39 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (386µs+30µs) by File::MimeInfo::Magic::BEGIN@7 at line 7 of File/MimeInfo/Magic.pm # once (384µs+26µs) by OCBNET::Spritesets::Canvas::Layout::BEGIN@231 at line 231 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Layout.pm # once (364µs+30µs) by OCBNET::Spritesets::Canvas::Optimize::BEGIN@28 at line 28 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas/Optimize.pm # once (353µs+30µs) by RTP::Webmerge::BEGIN@58 at line 58 of webmerge/scripts/modules/RTP/Webmerge.pm # once (343µs+28µs) by RTP::Webmerge::Merge::BEGIN@32 at line 32 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (341µs+14µs) by main::BEGIN@7 at line 7 of webmerge/scripts/webmerge.pl # once (339µs+8µs) by RTP::Webmerge::Path::BEGIN@37 at line 37 of webmerge/scripts/modules/RTP/Webmerge/Path.pm # once (325µs+19µs) by RTP::Webmerge::Checksum::BEGIN@28 at line 28 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (300µs+22µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@32 at line 32 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (306µs+15µs) by RTP::Webmerge::Merge::BEGIN@67 at line 67 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (295µs+18µs) by main::BEGIN@28 at line 28 of webmerge/scripts/webmerge.pl # once (300µs+12µs) by RTP::Webmerge::Compile::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Compile/JS.pm # once (291µs+19µs) by RTP::Webmerge::Embedder::PHP::BEGIN@20 at line 20 of webmerge/scripts/modules/RTP/Webmerge/Embedder/PHP.pm # once (291µs+19µs) by IPC::Run3::BEGIN@54 at line 54 of IPC/Run3.pm # once (287µs+17µs) by RTP::Webmerge::HeadInc::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (281µs+19µs) by RTP::Webmerge::Path::BEGIN@40 at line 40 of webmerge/scripts/modules/RTP/Webmerge/Path.pm # once (284µs+15µs) by RTP::Webmerge::Watchdog::BEGIN@12 at line 12 of webmerge/scripts/modules/RTP/Webmerge/Watchdog.pm # once (285µs+15µs) by RTP::Webmerge::Optimize::JPG::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Optimize/JPG.pm # once (282µs+14µs) by IO::File::BEGIN@130 at line 130 of IO/File.pm # once (284µs+10µs) by main::BEGIN@33 at line 33 of webmerge/scripts/webmerge.pl # once (278µs+14µs) by RTP::Webmerge::Merge::CSS::BEGIN@50 at line 50 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (275µs+15µs) by RTP::Webmerge::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge.pm # once (277µs+10µs) by RTP::Webmerge::Optimize::BEGIN@84 at line 84 of webmerge/scripts/modules/RTP/Webmerge/Optimize.pm # once (276µs+12µs) by RTP::Webmerge::Optimize::GZ::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GZ.pm # once (271µs+15µs) by Tie::Hash::BEGIN@188 at line 188 of Tie/Hash.pm # once (273µs+12µs) by RTP::Webmerge::Process::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Process/JS.pm # once (271µs+13µs) by RTP::Webmerge::Merge::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (268µs+15µs) by RTP::Webmerge::Prepare::BEGIN@28 at line 28 of webmerge/scripts/modules/RTP/Webmerge/Prepare.pm # once (269µs+14µs) by RTP::Webmerge::Optimize::GIF::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Optimize/GIF.pm # once (268µs+12µs) by RTP::Webmerge::IO::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/IO/JS.pm # once (264µs+14µs) by RTP::Webmerge::Checksum::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (264µs+13µs) by RTP::Webmerge::Optimize::MNG::BEGIN@11 at line 11 of webmerge/scripts/modules/RTP/Webmerge/Optimize/MNG.pm # once (260µs+17µs) by OCBNET::Spritesets::Container::BEGIN@153 at line 153 of webmerge/scripts/modules/OCBNET/Spritesets/Container.pm # once (264µs+12µs) by RTP::Webmerge::Checksum::BEGIN@27 at line 27 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (261µs+15µs) by RTP::Webmerge::Embedder::PHP::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Embedder/PHP.pm # once (266µs+10µs) by RTP::Webmerge::Embedder::BEGIN@30 at line 30 of webmerge/scripts/modules/RTP/Webmerge/Embedder.pm # once (264µs+11µs) by RTP::Webmerge::Merge::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (261µs+14µs) by RTP::Webmerge::Path::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Path.pm # once (258µs+14µs) by RTP::Webmerge::Embedder::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Embedder/JS.pm # once (260µs+12µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (259µs+12µs) by FindBin::BEGIN@84 at line 84 of FindBin.pm # once (258µs+13µs) by Socket::BEGIN@683 at line 683 of Socket.pm # once (255µs+14µs) by RTP::Webmerge::Compile::CSS::BEGIN@13 at line 13 of webmerge/scripts/modules/RTP/Webmerge/Compile/CSS.pm # once (253µs+16µs) by IO::File::BEGIN@131 at line 131 of IO/File.pm # once (256µs+12µs) by RTP::Webmerge::HeadInc::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (256µs+13µs) by RTP::Webmerge::Optimize::TXT::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Optimize/TXT.pm # once (256µs+12µs) by IO::File::BEGIN@133 at line 133 of IO/File.pm # once (254µs+14µs) by RTP::Webmerge::Optimize::PNG::BEGIN@11 at line 11 of webmerge/scripts/modules/RTP/Webmerge/Optimize/PNG.pm # once (255µs+12µs) by RTP::Webmerge::Process::CSS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS.pm # once (255µs+12µs) by XML::Simple::BEGIN@41 at line 41 of XML/Simple.pm # once (255µs+12µs) by IO::Seekable::BEGIN@98 at line 98 of IO/Seekable.pm # once (252µs+14µs) by RTP::Webmerge::Merge::BEGIN@66 at line 66 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (254µs+12µs) by RTP::Webmerge::Include::JS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Include/JS.pm # once (254µs+12µs) by RTP::Webmerge::Merge::BEGIN@36 at line 36 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (253µs+12µs) by RTP::Webmerge::Optimize::BEGIN@11 at line 11 of webmerge/scripts/modules/RTP/Webmerge/Optimize.pm # once (251µs+13µs) by Data::Dumper::BEGIN@22 at line 22 of Data/Dumper.pm # once (251µs+13µs) by XML::LibXML::SAX::BEGIN@22 at line 22 of XML/LibXML/SAX.pm # once (252µs+12µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (250µs+14µs) by SelectSaver::BEGIN@38 at line 38 of SelectSaver.pm # once (251µs+13µs) by File::BaseDir::BEGIN@4 at line 4 of File/BaseDir.pm # once (247µs+17µs) by File::Temp::BEGIN@145 at line 145 of File/Temp.pm # once (251µs+12µs) by Pod::Parser::BEGIN@206 at line 206 of Pod/Parser.pm # once (250µs+12µs) by RTP::Webmerge::IO::BEGIN@32 at line 32 of webmerge/scripts/modules/RTP/Webmerge/IO.pm # once (250µs+12µs) by RTP::Webmerge::Optimize::ZIP::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Optimize/ZIP.pm # once (247µs+14µs) by RTP::Webmerge::Embedder::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Embedder.pm # once (248µs+12µs) by Pod::Usage::BEGIN@444 at line 444 of Pod/Usage.pm # once (246µs+13µs) by IO::Handle::BEGIN@263 at line 263 of IO/Handle.pm # once (250µs+10µs) by XML::SAX::Exception::BEGIN@13 at line 13 of XML/SAX/Exception.pm # once (246µs+12µs) by RTP::Webmerge::Merge::CSS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Merge/CSS.pm # once (246µs+12µs) by main::BEGIN@30 at line 30 of webmerge/scripts/webmerge.pl # once (242µs+15µs) by OCBNET::Spritesets::Sprite::BEGIN@82 at line 82 of webmerge/scripts/modules/OCBNET/Spritesets/Sprite.pm # once (242µs+13µs) by IO::Scalar::BEGIN@149 at line 149 of IO/Scalar.pm # once (243µs+12µs) by Graphics::Magick::BEGIN@16 at line 16 of Graphics/Magick.pm # once (242µs+13µs) by RTP::Webmerge::IO::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/IO.pm # once (242µs+13µs) by RTP::Webmerge::Prepare::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Prepare.pm # once (240µs+13µs) by RTP::Webmerge::Fingerprint::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Fingerprint.pm # once (237µs+16µs) by XML::SAX::BEGIN@17 at line 17 of XML/SAX.pm # once (242µs+11µs) by Pod::Select::BEGIN@241 at line 241 of Pod/Select.pm # once (242µs+10µs) by RTP::Webmerge::IO::CSS::BEGIN@10 at line 10 of webmerge/scripts/modules/RTP/Webmerge/IO/CSS.pm # once (238µs+14µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (239µs+12µs) by RTP::Webmerge::IO::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/IO.pm # once (239µs+12µs) by FindBin::BEGIN@80 at line 80 of FindBin.pm # once (238µs+11µs) by XML::LibXML::Element::BEGIN@1488 at line 1488 of XML/LibXML.pm # once (237µs+13µs) by File::MimeInfo::Magic::BEGIN@5 at line 5 of File/MimeInfo/Magic.pm # once (237µs+12µs) by RTP::Webmerge::Include::CSS::BEGIN@8 at line 8 of webmerge/scripts/modules/RTP/Webmerge/Include/CSS.pm # once (236µs+12µs) by RTP::Webmerge::Merge::JS::BEGIN@62 at line 62 of webmerge/scripts/modules/RTP/Webmerge/Merge/JS.pm # once (235µs+13µs) by OCBNET::Spritesets::Canvas::BEGIN@18 at line 18 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm # once (224µs+22µs) by main::BEGIN@147 at line 147 of webmerge/scripts/webmerge.pl # once (234µs+12µs) by File::MimeInfo::BEGIN@4 at line 4 of File/MimeInfo.pm # once (237µs+9µs) by XML::LibXML::XPathContext::BEGIN@15 at line 15 of XML/LibXML/XPathContext.pm # once (234µs+9µs) by XML::LibXML::BEGIN@19 at line 19 of XML/LibXML.pm # once (230µs+12µs) by RTP::Webmerge::Include::JS::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Include/JS.pm # once (229µs+11µs) by IO::BEGIN@6 at line 6 of IO.pm # once (228µs+13µs) by RTP::Webmerge::Compile::JS::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Compile/JS.pm # once (226µs+14µs) by RTP::Webmerge::BEGIN@15 at line 15 of webmerge/scripts/modules/RTP/Webmerge.pm # once (228µs+9µs) by XML::LibXML::Error::BEGIN@20 at line 20 of XML/LibXML/Error.pm # once (228µs+8µs) by RTP::Webmerge::IO::CSS::BEGIN@40 at line 40 of webmerge/scripts/modules/RTP/Webmerge/IO/CSS.pm # once (231µs+6µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (226µs+11µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@41 at line 41 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (222µs+11µs) by IO::Handle::BEGIN@264 at line 264 of IO/Handle.pm # once (222µs+11µs) by RTP::Webmerge::Merge::BEGIN@37 at line 37 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (222µs+10µs) by main::BEGIN@29 at line 29 of webmerge/scripts/webmerge.pl # once (223µs+8µs) by RTP::Webmerge::Optimize::BEGIN@87 at line 87 of webmerge/scripts/modules/RTP/Webmerge/Optimize.pm # once (222µs+8µs) by XML::LibXML::Error::BEGIN@257 at line 257 of XML/LibXML/Error.pm # once (164µs+66µs) by RTP::Webmerge::Merge::BEGIN@47 at line 47 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (222µs+7µs) by RTP::Webmerge::Optimize::BEGIN@90 at line 90 of webmerge/scripts/modules/RTP/Webmerge/Optimize.pm # once (214µs+13µs) by RTP::Webmerge::Fingerprint::BEGIN@64 at line 64 of webmerge/scripts/modules/RTP/Webmerge/Fingerprint.pm # once (217µs+9µs) by main::BEGIN@31 at line 31 of webmerge/scripts/webmerge.pl # once (216µs+9µs) by OCBNET::Spritesets::Canvas::BEGIN@19 at line 19 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm # once (213µs+10µs) by RTP::Webmerge::IO::CSS::BEGIN@37 at line 37 of webmerge/scripts/modules/RTP/Webmerge/IO/CSS.pm # once (213µs+8µs) by main::BEGIN@34 at line 34 of webmerge/scripts/webmerge.pl # once (208µs+12µs) by SelectSaver::BEGIN@39 at line 39 of SelectSaver.pm # once (207µs+10µs) by RTP::Webmerge::Prepare::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Prepare.pm # once (204µs+11µs) by Encode::BEGIN@48 at line 48 of Encode.pm # once (200µs+14µs) by IO::Seekable::BEGIN@104 at line 104 of IO/Seekable.pm # once (202µs+8µs) by RTP::Webmerge::Checksum::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (196µs+9µs) by RTP::Webmerge::Fingerprint::BEGIN@61 at line 61 of webmerge/scripts/modules/RTP/Webmerge/Fingerprint.pm # once (196µs+8µs) by Pod::Text::BEGIN@31 at line 31 of Pod/Text.pm # once (194µs+8µs) by main::BEGIN@37 at line 37 of webmerge/scripts/webmerge.pl # once (189µs+10µs) by RTP::Webmerge::IO::JS::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/IO/JS.pm # once (190µs+8µs) by OCBNET::Spritesets::Canvas::BEGIN@21 at line 21 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm # once (190µs+8µs) by RTP::Webmerge::Embedder::JS::BEGIN@23 at line 23 of webmerge/scripts/modules/RTP/Webmerge/Embedder/JS.pm # once (189µs+9µs) by main::BEGIN@36 at line 36 of webmerge/scripts/webmerge.pl # once (189µs+8µs) by main::BEGIN@235 at line 98 of XML/Simple.pm # once (182µs+12µs) by File::Temp::BEGIN@147 at line 147 of File/Temp.pm # once (181µs+10µs) by File::Temp::Dir::BEGIN@2405 at line 2405 of File/Temp.pm # once (183µs+7µs) by RTP::Webmerge::Watchdog::BEGIN@36 at line 36 of webmerge/scripts/modules/RTP/Webmerge/Watchdog.pm # once (181µs+8µs) by OCBNET::Spritesets::Canvas::BEGIN@20 at line 20 of webmerge/scripts/modules/OCBNET/Spritesets/Canvas.pm # once (177µs+8µs) by RTP::Webmerge::Watchdog::BEGIN@33 at line 33 of webmerge/scripts/modules/RTP/Webmerge/Watchdog.pm # once (177µs+8µs) by main::BEGIN@32 at line 32 of webmerge/scripts/webmerge.pl # once (176µs+7µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@35 at line 35 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (173µs+9µs) by RTP::Webmerge::Embedder::BEGIN@27 at line 27 of webmerge/scripts/modules/RTP/Webmerge/Embedder.pm # once (174µs+7µs) by RTP::Webmerge::Embedder::PHP::BEGIN@23 at line 23 of webmerge/scripts/modules/RTP/Webmerge/Embedder/PHP.pm # once (168µs+8µs) by RTP::Webmerge::Process::CSS::Spritesets::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Spritesets.pm # once (168µs+7µs) by XML::SAX::BEGIN@15 at line 15 of XML/SAX.pm # once (168µs+6µs) by RTP::Webmerge::Merge::BEGIN@35 at line 35 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (170µs+3µs) by RTP::Webmerge::Watchdog::BEGIN@39 at line 39 of webmerge/scripts/modules/RTP/Webmerge/Watchdog.pm # once (166µs+6µs) by RTP::Webmerge::Include::CSS::BEGIN@25 at line 25 of webmerge/scripts/modules/RTP/Webmerge/Include/CSS.pm # once (162µs+7µs) by OCBNET::Spritesets::CSS::Parser::BEGIN@25 at line 25 of webmerge/scripts/modules/OCBNET/Spritesets/CSS/Parser.pm # once (160µs+7µs) by File::Path::BEGIN@6 at line 6 of File/Path.pm # once (156µs+5µs) by XML::SAX::ParserFactory::BEGIN@10 at line 10 of XML/SAX/ParserFactory.pm # once (154µs+5µs) by RTP::Webmerge::Optimize::TXT::BEGIN@75 at line 75 of webmerge/scripts/modules/RTP/Webmerge/Optimize/TXT.pm # once (151µs+8µs) by RTP::Webmerge::Merge::BEGIN@58 at line 58 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (154µs+5µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@44 at line 44 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (155µs+4µs) by RTP::Webmerge::HeadInc::BEGIN@28 at line 28 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (149µs+5µs) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@40 at line 40 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (149µs+4µs) by RTP::Webmerge::HeadInc::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/HeadInc.pm # once (148µs+0s) by Getopt::Long::BEGIN@25 at line 25 of Getopt/Long.pm # once (138µs+3µs) by RTP::Webmerge::Checksum::BEGIN@29 at line 29 of webmerge/scripts/modules/RTP/Webmerge/Checksum.pm # once (133µs+6µs) by RTP::Webmerge::BEGIN@21 at line 21 of webmerge/scripts/modules/RTP/Webmerge.pm # once (139µs+0s) by JSON::XS::BEGIN@121 at line 121 of JSON/XS.pm # once (129µs+6µs) by File::MimeInfo::BEGIN@5 at line 5 of File/MimeInfo.pm # once (131µs+3µs) by File::MimeInfo::BEGIN@7 at line 7 of File/MimeInfo.pm # once (129µs+0s) by RTP::Webmerge::Merge::BEGIN@44 at line 44 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (129µs+0s) by Pod::Select::BEGIN@242 at line 242 of Pod/Select.pm # once (124µs+4µs) by File::MimeInfo::Magic::BEGIN@6 at line 6 of File/MimeInfo/Magic.pm # once (120µs+0s) by RTP::Webmerge::Process::CSS::Inlinedata::BEGIN@26 at line 26 of webmerge/scripts/modules/RTP/Webmerge/Process/CSS/Inlinedata.pm # once (116µs+0s) by Cwd::BEGIN@171 at line 171 of Cwd.pm # once (114µs+0s) by RTP::Webmerge::Merge::BEGIN@68 at line 68 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (113µs+0s) by RTP::Webmerge::Merge::BEGIN@69 at line 69 of webmerge/scripts/modules/RTP/Webmerge/Merge.pm # once (113µs+0s) by File::Temp::BEGIN@148 at line 148 of File/Temp.pm # once (113µs+0s) by XML::LibXML::BEGIN@27 at line 27 of XML/LibXML.pm # once (110µs+0s) by IO::Scalar::BEGIN@152 at line 152 of IO/Scalar.pm # once (107µs+0s) by IPC::Run3::BEGIN@36 at line 36 of IPC/Run3.pm # once (106µs+0s) by IO::WrapTie::BEGIN@10 at line 10 of IO/WrapTie.pm # once (100µs+0s) by IO::WrapTie::Master::BEGIN@36 at line 36 of IO/WrapTie.pm # once (89µs+0s) by Pod::Usage::BEGIN@446 at line 446 of Pod/Usage.pm # once (86µs+0s) by Pod::Parser::BEGIN@207 at line 207 of Pod/Parser.pm
sub import {
29228778µs my $pkg = shift;
302281.31ms my $callpkg = caller($ExportLevel);
31
32228508µs if ($pkg eq "Exporter" and @_ and $_[0] eq "import") {
33 *{$callpkg."::import"} = \&import;
34 return;
35 }
36
37 # We *need* to treat @{"$pkg\::EXPORT_FAIL"} since Carp uses it :-(
382282.69ms my $exports = \@{"$pkg\::EXPORT"};
39 # But, avoid creating things if they don't exist, which saves a couple of
40 # hundred bytes per package processed.
412282.17ms my $fail = ${$pkg . '::'}{EXPORT_FAIL} && \@{"$pkg\::EXPORT_FAIL"};
42228710µs return export $pkg, $callpkg, @_
43 if $Verbose or $Debug or $fail && @$fail > 1;
442281.09ms my $export_cache = ($Cache{$pkg} ||= {});
452281.89ms my $args = @_ or @_ = @$exports;
46
47228420µs if ($args and not %$export_cache) {
48 s/^&//, $export_cache->{$_} = 1
493318.8ms10373.09ms foreach (@$exports, @{"$pkg\::EXPORT_OK"});
# spent 3.09ms making 1037 calls to Exporter::CORE:subst, avg 3µs/call
50 }
51228232µs my $heavy;
52 # Try very hard not to use {} and hence have to enter scope on the foreach
53 # We bomb out of the loop with last as soon as heavy is set.
54228895µs if ($args or $fail) {
55 ($heavy = (/\W/ or $args and not exists $export_cache->{$_}
56 or $fail and @$fail and $_ eq $fail->[0])) and last
5716810.7ms4021.88ms foreach (@_);
# spent 1.88ms making 402 calls to Exporter::CORE:match, avg 5µs/call
58 } else {
59 ($heavy = /\W/) and last
606037.6ms4081.12ms foreach (@_);
# spent 1.12ms making 408 calls to Exporter::CORE:match, avg 3µs/call
61 }
622281.84ms4213.3ms return export $pkg, $callpkg, ($args ? @_ : ()) if $heavy;
# spent 13.3ms making 42 calls to Exporter::export, avg 317µs/call
63 local $SIG{__WARN__} =
641865.77ms sub {require Carp; &Carp::carp} if not $SIG{__WARN__};
65 # shortcut for the common case of no type character
6618623.5ms *{"$callpkg\::$_"} = \&{"$pkg\::$_"} foreach @_;
67}
68
69# Default methods
70
71sub export_fail {
72 my $self = shift;
73 @_;
74}
75
76# Unfortunately, caller(1)[3] "does not work" if the caller is aliased as
77# *name = \&foo. Thus the need to create a lot of identical subroutines
78# Otherwise we could have aliased them to export().
79
80
# spent 460µs (126+334) within Exporter::export_to_level which was called 4 times, avg 115µs/call: # 3 times (92µs+252µs) by XML::LibXML::import at line 207 of XML/LibXML.pm, avg 115µs/call # once (34µs+82µs) by JSON::import at line 111 of JSON.pm
sub export_to_level {
814153µs85.18ms goto &{as_heavy()};
# spent 4.85ms making 4 calls to Exporter::Heavy::heavy_export_to_level, avg 1.21ms/call # spent 334µs making 4 calls to Exporter::as_heavy, avg 83µs/call
82}
83
84
# spent 198µs (44+154) within Exporter::export_tags which was called: # once (44µs+154µs) by IPC::Run3::BEGIN@55 at line 202 of File/Temp.pm
sub export_tags {
85146µs2287µs goto &{as_heavy()};
# spent 154µs making 1 call to Exporter::as_heavy # spent 134µs making 1 call to Exporter::Heavy::heavy_export_tags
86}
87
88sub export_ok_tags {
89 goto &{as_heavy()};
90}
91
92sub require_version {
93 goto &{as_heavy()};
94}
95
96119µs1;
97__END__
 
# spent 3.00ms within Exporter::CORE:match which was called 810 times, avg 4µs/call: # 408 times (1.12ms+0s) by Exporter::import at line 60, avg 3µs/call # 402 times (1.88ms+0s) by Exporter::import at line 57, avg 5µs/call
sub Exporter::CORE:match; # opcode
# spent 3.89ms within Exporter::CORE:subst which was called 1088 times, avg 4µs/call: # 1037 times (3.09ms+0s) by Exporter::import at line 49, avg 3µs/call # 51 times (801µs+0s) by Exporter::as_heavy at line 20, avg 16µs/call
sub Exporter::CORE:subst; # opcode