Filename | /usr/lib64/perl5/vendor_perl/version.pm |
Statements | Executed 246 statements in 1.74ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
15 | 15 | 15 | 339µs | 339µs | import | version::
1 | 1 | 1 | 52µs | 52µs | BEGIN@4 | version::
2 | 2 | 2 | 26µs | 26µs | (bool (xsub) | version::
1 | 1 | 1 | 14µs | 30µs | BEGIN@27 | version::
1 | 1 | 1 | 12µs | 82µs | BEGIN@7 | version::
1 | 1 | 1 | 12µs | 12µs | (cmp (xsub) | version::
1 | 1 | 1 | 11µs | 26µs | BEGIN@43 | version::
1 | 1 | 1 | 11µs | 34µs | BEGIN@5 | version::
1 | 1 | 1 | 11µs | 25µs | BEGIN@60 | version::
0 | 0 | 0 | 0s | 0s | __ANON__[:86] | version::
0 | 0 | 0 | 0s | 0s | __ANON__[:92] | version::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | #!perl -w | ||||
2 | package version; | ||||
3 | |||||
4 | 2 | 102µs | 1 | 52µs | # spent 52µs within version::BEGIN@4 which was called:
# once (52µs+0s) by Foswiki::BEGIN@171 at line 4 # spent 52µs making 1 call to version::BEGIN@4 |
5 | 2 | 43µs | 2 | 56µ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 # spent 34µs making 1 call to version::BEGIN@5
# spent 22µs making 1 call to strict::import |
6 | |||||
7 | 2 | 179µs | 2 | 151µ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 # spent 82µs making 1 call to version::BEGIN@7
# spent 70µs making 1 call to vars::import |
8 | |||||
9 | 1 | 700ns | $VERSION = 0.9907; | ||
10 | 1 | 500ns | $CLASS = 'version'; | ||
11 | |||||
12 | # !!!!Delete this next block completely when adding to Perl core!!!! | ||||
13 | { | ||||
14 | 2 | 4µs | local $SIG{'__DIE__'}; | ||
15 | 1 | 59µ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. | ||
16 | 1 | 2µ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) { | ||||
27 | 2 | 179µs | 2 | 45µ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 # 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 | ||||
35 | 1 | 9µs | push @ISA, "version::vxs"; | ||
36 | 1 | 2µs | local $^W; | ||
37 | 1 | 3µs | *version::declare = \&version::vxs::declare; | ||
38 | 1 | 800ns | *version::qv = \&version::vxs::qv; | ||
39 | 1 | 700ns | *version::_VERSION = \&version::vxs::_VERSION; | ||
40 | 1 | 700ns | *version::vcmp = \&version::vxs::VCMP; | ||
41 | 1 | 500ns | *version::new = \&version::vxs::new; | ||
42 | 1 | 2µs | if ($] >= 5.009000) { | ||
43 | 2 | 148µs | 2 | 41µ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 # spent 26µs making 1 call to version::BEGIN@43
# spent 15µs making 1 call to strict::unimport |
44 | 1 | 700ns | *version::stringify = \&version::vxs::stringify; | ||
45 | 1 | 2µs | *{'version::(""'} = \&version::vxs::stringify; | ||
46 | 1 | 900ns | *{'version::(<=>'} = \&version::vxs::VCMP; | ||
47 | 1 | 900ns | *version::parse = \&version::vxs::parse; | ||
48 | } | ||||
49 | } | ||||
50 | } | ||||
51 | |||||
52 | # avoid using Exporter | ||||
53 | 1 | 105µs | require version::regex; | ||
54 | 1 | 2µs | *version::is_lax = \&version::regex::is_lax; | ||
55 | 1 | 400ns | *version::is_strict = \&version::regex::is_strict; | ||
56 | 1 | 500ns | *LAX = \$version::regex::LAX; | ||
57 | 1 | 300ns | *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 | ||||
60 | 2 | 483µs | 2 | 39µ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 # spent 25µs making 1 call to version::BEGIN@60
# spent 14µs making 1 call to strict::unimport |
61 | 15 | 12µs | my ($class) = shift; | ||
62 | |||||
63 | # Set up any derived class | ||||
64 | 15 | 7µs | unless ($class eq $CLASS) { | ||
65 | local $^W; | ||||
66 | *{$class.'::declare'} = \&{$CLASS.'::declare'}; | ||||
67 | *{$class.'::qv'} = \&{$CLASS.'::qv'}; | ||||
68 | } | ||||
69 | |||||
70 | 15 | 3µs | my %args; | ||
71 | 15 | 9µs | if (@_) { # any remaining terms are arguments | ||
72 | map { $args{$_} = 1 } @_ | ||||
73 | } | ||||
74 | else { # no parameters at all on use line | ||||
75 | 15 | 31µs | %args = | ||
76 | ( | ||||
77 | qv => 1, | ||||
78 | 'UNIVERSAL::VERSION' => 1, | ||||
79 | ); | ||||
80 | } | ||||
81 | |||||
82 | 15 | 50µs | my $callpkg = caller(); | ||
83 | |||||
84 | 15 | 7µs | if (exists($args{declare})) { | ||
85 | *{$callpkg.'::declare'} = | ||||
86 | sub {return $class->declare(shift) } | ||||
87 | unless defined(&{$callpkg.'::declare'}); | ||||
88 | } | ||||
89 | |||||
90 | 15 | 110µs | if (exists($args{qv})) { | ||
91 | *{$callpkg.'::qv'} = | ||||
92 | sub {return $class->qv(shift) } | ||||
93 | unless defined(&{$callpkg.'::qv'}); | ||||
94 | } | ||||
95 | |||||
96 | 15 | 8µs | if (exists($args{'UNIVERSAL::VERSION'})) { | ||
97 | 15 | 25µs | local $^W; | ||
98 | *UNIVERSAL::VERSION | ||||
99 | 15 | 33µs | = \&{$CLASS.'::_VERSION'}; | ||
100 | } | ||||
101 | |||||
102 | 15 | 4µs | if (exists($args{'VERSION'})) { | ||
103 | *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'}; | ||||
104 | } | ||||
105 | |||||
106 | 15 | 5µs | if (exists($args{'is_strict'})) { | ||
107 | *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'} | ||||
108 | unless defined(&{$callpkg.'::is_strict'}); | ||||
109 | } | ||||
110 | |||||
111 | 15 | 79µs | if (exists($args{'is_lax'})) { | ||
112 | *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'} | ||||
113 | unless defined(&{$callpkg.'::is_lax'}); | ||||
114 | } | ||||
115 | } | ||||
116 | |||||
117 | |||||
118 | 1 | 30µs | 1; | ||
# 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 | |||||
# spent 12µs within version::(cmp which was called:
# once (12µs+0s) by main::BEGIN@6 at line 60 of Config.pm |