Filename | /usr/local/lib/perl5/5.24/version.pm |
Statements | Executed 38 statements in 1.62ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
18 | 16 | 13 | 425µs | 425µs | _VERSION (xsub) | version::
1 | 1 | 1 | 114µs | 114µs | import | version::
1 | 1 | 1 | 48µs | 48µs | BEGIN@4 | version::
1 | 1 | 1 | 26µs | 41µs | BEGIN@5 | version::
1 | 1 | 1 | 26µs | 78µs | BEGIN@24 | version::
1 | 1 | 1 | 24µs | 417µs | BEGIN@11 | version::
1 | 1 | 1 | 21µs | 719µs | BEGIN@6 | version::
1 | 1 | 1 | 16µs | 16µs | (cmp (xsub) | version::
1 | 1 | 1 | 11µs | 11µs | (bool (xsub) | version::
0 | 0 | 0 | 0s | 0s | __ANON__[:50] | version::
0 | 0 | 0 | 0s | 0s | __ANON__[:56] | version::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | #!perl -w | ||||
2 | package version; | ||||
3 | |||||
4 | 2 | 109µs | 1 | 48µs | # spent 48µs within version::BEGIN@4 which was called:
# once (48µs+0s) by Net::Patricia::BEGIN@31 at line 4 # spent 48µs making 1 call to version::BEGIN@4 |
5 | 2 | 68µs | 2 | 56µs | # spent 41µs (26+15) within version::BEGIN@5 which was called:
# once (26µs+15µs) by Net::Patricia::BEGIN@31 at line 5 # spent 41µs making 1 call to version::BEGIN@5
# spent 15µs making 1 call to strict::import |
6 | 2 | 114µs | 2 | 1.42ms | # spent 719µs (21+698) within version::BEGIN@6 which was called:
# once (21µs+698µs) by Net::Patricia::BEGIN@31 at line 6 # spent 719µs making 1 call to version::BEGIN@6
# spent 698µs making 1 call to warnings::register::import |
7 | 1 | 6µs | if ($] >= 5.015) { | ||
8 | 1 | 7µs | 1 | 20µs | warnings::register_categories(qw/version/); # spent 20µs making 1 call to warnings::register_categories |
9 | } | ||||
10 | |||||
11 | 2 | 203µs | 2 | 810µs | # spent 417µs (24+393) within version::BEGIN@11 which was called:
# once (24µs+393µs) by Net::Patricia::BEGIN@31 at line 11 # spent 417µs making 1 call to version::BEGIN@11
# spent 393µs making 1 call to vars::import |
12 | |||||
13 | 1 | 2µs | $VERSION = 0.9916; | ||
14 | 1 | 2µs | $CLASS = 'version'; | ||
15 | |||||
16 | # avoid using Exporter | ||||
17 | 1 | 273µs | require version::regex; | ||
18 | 1 | 4µs | *version::is_lax = \&version::regex::is_lax; | ||
19 | 1 | 2µs | *version::is_strict = \&version::regex::is_strict; | ||
20 | 1 | 2µs | *LAX = \$version::regex::LAX; | ||
21 | 1 | 2µs | *STRICT = \$version::regex::STRICT; | ||
22 | |||||
23 | # spent 114µs within version::import which was called:
# once (114µs+0s) by Net::Patricia::BEGIN@31 at line 31 of Net/Patricia.pm | ||||
24 | 2 | 697µs | 2 | 130µs | # spent 78µs (26+52) within version::BEGIN@24 which was called:
# once (26µs+52µs) by Net::Patricia::BEGIN@31 at line 24 # spent 78µs making 1 call to version::BEGIN@24
# spent 52µs making 1 call to strict::unimport |
25 | 1 | 2µs | my ($class) = shift; | ||
26 | |||||
27 | # Set up any derived class | ||||
28 | 1 | 2µs | unless ($class eq $CLASS) { | ||
29 | local $^W; | ||||
30 | *{$class.'::declare'} = \&{$CLASS.'::declare'}; | ||||
31 | *{$class.'::qv'} = \&{$CLASS.'::qv'}; | ||||
32 | } | ||||
33 | |||||
34 | 1 | 2µs | my %args; | ||
35 | 1 | 4µs | if (@_) { # any remaining terms are arguments | ||
36 | map { $args{$_} = 1 } @_ | ||||
37 | } | ||||
38 | else { # no parameters at all on use line | ||||
39 | 1 | 4µs | %args = | ||
40 | ( | ||||
41 | qv => 1, | ||||
42 | 'UNIVERSAL::VERSION' => 1, | ||||
43 | ); | ||||
44 | } | ||||
45 | |||||
46 | 1 | 2µs | my $callpkg = caller(); | ||
47 | |||||
48 | 1 | 2µs | if (exists($args{declare})) { | ||
49 | *{$callpkg.'::declare'} = | ||||
50 | sub {return $class->declare(shift) } | ||||
51 | unless defined(&{$callpkg.'::declare'}); | ||||
52 | } | ||||
53 | |||||
54 | 1 | 3µs | if (exists($args{qv})) { | ||
55 | 1 | 2µs | *{$callpkg.'::qv'} = | ||
56 | sub {return $class->qv(shift) } | ||||
57 | 2 | 38µs | unless defined(&{$callpkg.'::qv'}); | ||
58 | } | ||||
59 | |||||
60 | 1 | 3µs | if (exists($args{'UNIVERSAL::VERSION'})) { | ||
61 | 1 | 5µs | local $^W; | ||
62 | *UNIVERSAL::VERSION | ||||
63 | 2 | 22µs | = \&{$CLASS.'::_VERSION'}; | ||
64 | } | ||||
65 | |||||
66 | 1 | 2µs | if (exists($args{'VERSION'})) { | ||
67 | *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'}; | ||||
68 | } | ||||
69 | |||||
70 | 1 | 2µs | if (exists($args{'is_strict'})) { | ||
71 | *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'} | ||||
72 | unless defined(&{$callpkg.'::is_strict'}); | ||||
73 | } | ||||
74 | |||||
75 | 1 | 11µs | if (exists($args{'is_lax'})) { | ||
76 | *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'} | ||||
77 | unless defined(&{$callpkg.'::is_lax'}); | ||||
78 | } | ||||
79 | } | ||||
80 | |||||
81 | |||||
82 | 1 | 27µs | 1; | ||
# spent 11µs within version::(bool which was called:
# once (11µs+0s) by Errno::BEGIN@10 at line 59 of Config.pm | |||||
# spent 16µs within version::(cmp which was called:
# once (16µs+0s) by Errno::BEGIN@10 at line 62 of Config.pm | |||||
# spent 425µs within version::_VERSION which was called 18 times, avg 24µs/call:
# 2 times (42µs+0s) by Mail::SpamAssassin::DnsResolver::load_resolver at line 174 of Mail/SpamAssassin/DnsResolver.pm, avg 21µs/call
# 2 times (42µs+0s) by Net::DNS::Resolver::Base::BEGIN@1 or Net::DNS::Resolver::Base::BEGIN@1.1 at line 1 of (eval 16)[Net/DNS/Resolver/Base.pm:29], avg 21µs/call
# once (55µs+0s) by Mail::SpamAssassin::Plugin::TxRep::BEGIN@207 at line 207 of Mail/SpamAssassin/Plugin/TxRep.pm
# once (34µs+0s) by IO::Socket::IP::BEGIN@19 at line 30 of IO/Socket/IP.pm
# once (29µs+0s) by Mail::SpamAssassin::Plugin::AskDNS::new at line 214 of Mail/SpamAssassin/Plugin/AskDNS.pm
# once (29µs+0s) by IO::Socket::SSL::BEGIN@308 at line 315 of IO/Socket/SSL.pm
# once (26µs+0s) by Mail::SpamAssassin::Plugin::SpamCop::BEGIN@53 at line 31 of Net/SMTP.pm
# once (25µs+0s) by Mail::SpamAssassin::BEGIN@85 at line 85 of Mail/SpamAssassin.pm
# once (23µs+0s) by IO::Socket::SSL::BEGIN@19 at line 19 of IO/Socket/SSL.pm
# once (23µs+0s) by Net::DNS::Resolver::Base::BEGIN@46 at line 23 of Scalar/Util.pm
# once (19µs+0s) by URI::Escape::BEGIN@140 at line 140 of URI/Escape.pm
# once (18µs+0s) by IO::Socket::BEGIN@13 at line 13 of IO/Socket.pm
# once (18µs+0s) by Mail::SpamAssassin::HTML::BEGIN@30 at line 30 of Mail/SpamAssassin/HTML.pm
# once (16µs+0s) by Mail::SpamAssassin::NetSet::BEGIN@35 at line 38 of Mail/SpamAssassin/NetSet.pm
# once (13µs+0s) by IO::Socket::SSL::BEGIN@308 at line 341 of IO/Socket/SSL.pm
# once (12µs+0s) by Mail::SpamAssassin::Plugin::SpamCop::BEGIN@53 at line 42 of Net/SMTP.pm |