← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 19:05:14 2015
Reported on Fri Jul 31 19:08:09 2015

Filename/usr/lib64/perl5/vendor_perl/version.pm
StatementsExecuted 246 statements in 1.74ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
151515339µs339µsversion::::importversion::import
11152µs52µsversion::::BEGIN@4version::BEGIN@4
22226µs26µsversion::::(boolversion::(bool (xsub)
11114µs30µsversion::::BEGIN@27version::BEGIN@27
11112µs82µsversion::::BEGIN@7version::BEGIN@7
11112µs12µsversion::::(cmpversion::(cmp (xsub)
11111µs26µsversion::::BEGIN@43version::BEGIN@43
11111µs34µsversion::::BEGIN@5version::BEGIN@5
11111µs25µsversion::::BEGIN@60version::BEGIN@60
0000s0sversion::::__ANON__[:86]version::__ANON__[:86]
0000s0sversion::::__ANON__[:92]version::__ANON__[:92]
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1#!perl -w
2package version;
3
42102µs152µs
# spent 52µs within version::BEGIN@4 which was called: # once (52µs+0s) by Foswiki::BEGIN@171 at line 4
use 5.006002;
# spent 52µs making 1 call to version::BEGIN@4
5243µs256µs
# spent 34µs (11+22) within version::BEGIN@5 which was called: # once (11µs+22µs) by Foswiki::BEGIN@171 at line 5
use strict;
# spent 34µs making 1 call to version::BEGIN@5 # spent 22µs making 1 call to strict::import
6
72179µs2151µs
# spent 82µs (12+70) within version::BEGIN@7 which was called: # once (12µs+70µs) by Foswiki::BEGIN@171 at line 7
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
# spent 82µs making 1 call to version::BEGIN@7 # spent 70µs making 1 call to vars::import
8
91700ns$VERSION = 0.9907;
101500ns$CLASS = 'version';
11
12# !!!!Delete this next block completely when adding to Perl core!!!!
13{
1424µs local $SIG{'__DIE__'};
15159µs eval "use version::vxs $VERSION";
# spent 149µs executing statements in string eval
# includes 392µs spent executing 1 call to 1 sub defined therein.
1612µs if ( $@ ) { # don't have the XS version installed
17 eval "use version::vpp $VERSION"; # don't tempt fate
18 die "$@" if ( $@ );
19 push @ISA, "version::vpp";
20 local $^W;
21 *version::qv = \&version::vpp::qv;
22 *version::declare = \&version::vpp::declare;
23 *version::_VERSION = \&version::vpp::_VERSION;
24 *version::vcmp = \&version::vpp::vcmp;
25 *version::new = \&version::vpp::new;
26 if ($] >= 5.009000) {
272179µs245µs
# spent 30µs (14+16) within version::BEGIN@27 which was called: # once (14µs+16µs) by Foswiki::BEGIN@171 at line 27
no strict 'refs';
# spent 30µs making 1 call to version::BEGIN@27 # spent 16µs making 1 call to strict::unimport
28 *version::stringify = \&version::vpp::stringify;
29 *{'version::(""'} = \&version::vpp::stringify;
30 *{'version::(<=>'} = \&version::vpp::vcmp;
31 *version::parse = \&version::vpp::parse;
32 }
33 }
34 else { # use XS module
3519µs push @ISA, "version::vxs";
3612µs local $^W;
3713µs *version::declare = \&version::vxs::declare;
381800ns *version::qv = \&version::vxs::qv;
391700ns *version::_VERSION = \&version::vxs::_VERSION;
401700ns *version::vcmp = \&version::vxs::VCMP;
411500ns *version::new = \&version::vxs::new;
4212µs if ($] >= 5.009000) {
432148µs241µs
# spent 26µs (11+15) within version::BEGIN@43 which was called: # once (11µs+15µs) by Foswiki::BEGIN@171 at line 43
no strict 'refs';
# spent 26µs making 1 call to version::BEGIN@43 # spent 15µs making 1 call to strict::unimport
441700ns *version::stringify = \&version::vxs::stringify;
4512µs *{'version::(""'} = \&version::vxs::stringify;
461900ns *{'version::(<=>'} = \&version::vxs::VCMP;
471900ns *version::parse = \&version::vxs::parse;
48 }
49 }
50}
51
52# avoid using Exporter
531105µsrequire version::regex;
5412µs*version::is_lax = \&version::regex::is_lax;
551400ns*version::is_strict = \&version::regex::is_strict;
561500ns*LAX = \$version::regex::LAX;
571300ns*STRICT = \$version::regex::STRICT;
58
59
# spent 339µs within version::import which was called 15 times, avg 23µs/call: # once (40µs+0s) by Foswiki::Plugins::SpreadSheetPlugin::BEGIN@15 at line 15 of /var/www/foswiki11/lib/Foswiki/Plugins/SpreadSheetPlugin.pm # once (27µs+0s) by Foswiki::Plugins::BEGIN@32 at line 32 of /var/www/foswiki11/lib/Foswiki/Plugins.pm # once (27µs+0s) by Foswiki::BEGIN@171 at line 171 of /var/www/foswiki11/lib/Foswiki.pm # once (26µs+0s) by Foswiki::Plugins::AutoViewTemplatePlugin::BEGIN@18 at line 18 of /var/www/foswiki11/lib/Foswiki/Plugins/AutoViewTemplatePlugin.pm # once (24µs+0s) by Foswiki::Plugins::SlideShowPlugin::BEGIN@12 at line 12 of /var/www/foswiki11/lib/Foswiki/Plugins/SlideShowPlugin.pm # once (23µs+0s) by Foswiki::Plugins::InterwikiPlugin::BEGIN@29 at line 29 of /var/www/foswiki11/lib/Foswiki/Plugins/InterwikiPlugin.pm # once (20µs+0s) by Foswiki::Plugins::WysiwygPlugin::BEGIN@33 at line 33 of /var/www/foswiki11/lib/Foswiki/Plugins/WysiwygPlugin.pm # once (20µs+0s) by Foswiki::Plugins::MailerContribPlugin::BEGIN@7 at line 7 of /var/www/foswiki11/lib/Foswiki/Plugins/MailerContribPlugin.pm # once (19µs+0s) by Foswiki::Plugins::PreferencesPlugin::BEGIN@18 at line 18 of /var/www/foswiki11/lib/Foswiki/Plugins/PreferencesPlugin.pm # once (19µs+0s) by Foswiki::Plugins::TwistyPlugin::BEGIN@20 at line 20 of /var/www/foswiki11/lib/Foswiki/Plugins/TwistyPlugin.pm # once (19µs+0s) by Foswiki::Plugins::RenderListPlugin::BEGIN@33 at line 33 of /var/www/foswiki11/lib/Foswiki/Plugins/RenderListPlugin.pm # once (19µs+0s) by Foswiki::Plugins::TinyMCEPlugin::BEGIN@10 at line 10 of /var/www/foswiki11/lib/Foswiki/Plugins/TinyMCEPlugin.pm # once (19µs+0s) by Foswiki::Plugins::CommentPlugin::BEGIN@13 at line 13 of /var/www/foswiki11/lib/Foswiki/Plugins/CommentPlugin.pm # once (19µs+0s) by Foswiki::Plugins::SmiliesPlugin::BEGIN@16 at line 16 of /var/www/foswiki11/lib/Foswiki/Plugins/SmiliesPlugin.pm # once (19µs+0s) by Foswiki::Contrib::JSCalendarContrib::BEGIN@21 at line 21 of /var/www/foswiki11/lib/Foswiki/Contrib/JSCalendarContrib.pm
sub import {
602483µs239µs
# spent 25µs (11+14) within version::BEGIN@60 which was called: # once (11µs+14µs) by Foswiki::BEGIN@171 at line 60
no strict 'refs';
# spent 25µs making 1 call to version::BEGIN@60 # spent 14µs making 1 call to strict::unimport
611512µs my ($class) = shift;
62
63 # Set up any derived class
64157µs unless ($class eq $CLASS) {
65 local $^W;
66 *{$class.'::declare'} = \&{$CLASS.'::declare'};
67 *{$class.'::qv'} = \&{$CLASS.'::qv'};
68 }
69
70153µs my %args;
71159µs if (@_) { # any remaining terms are arguments
72 map { $args{$_} = 1 } @_
73 }
74 else { # no parameters at all on use line
751531µs %args =
76 (
77 qv => 1,
78 'UNIVERSAL::VERSION' => 1,
79 );
80 }
81
821550µs my $callpkg = caller();
83
84157µs if (exists($args{declare})) {
85 *{$callpkg.'::declare'} =
86 sub {return $class->declare(shift) }
87 unless defined(&{$callpkg.'::declare'});
88 }
89
9015110µs if (exists($args{qv})) {
91 *{$callpkg.'::qv'} =
92 sub {return $class->qv(shift) }
93 unless defined(&{$callpkg.'::qv'});
94 }
95
96158µs if (exists($args{'UNIVERSAL::VERSION'})) {
971525µs local $^W;
98 *UNIVERSAL::VERSION
991533µs = \&{$CLASS.'::_VERSION'};
100 }
101
102154µs if (exists($args{'VERSION'})) {
103 *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
104 }
105
106155µs if (exists($args{'is_strict'})) {
107 *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
108 unless defined(&{$callpkg.'::is_strict'});
109 }
110
1111579µs if (exists($args{'is_lax'})) {
112 *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
113 unless defined(&{$callpkg.'::is_lax'});
114 }
115}
116
117
118130µs1;
 
# spent 26µs within version::(bool which was called 2 times, avg 13µs/call: # once (14µs+0s) by main::BEGIN@6 at line 57 of Config.pm # once (12µs+0s) by Foswiki::Plugins::ActionTrackerPlugin::initPlugin at line 34 of /var/www/foswiki11/lib/Foswiki/Plugins/ActionTrackerPlugin.pm
sub version::(bool; # xsub
# spent 12µs within version::(cmp which was called: # once (12µs+0s) by main::BEGIN@6 at line 60 of Config.pm
sub version::(cmp; # xsub