← Index
NYTProf Performance Profile   « line view »
For split.pl
  Run on Thu Apr 20 02:05:47 2023
Reported on Thu Apr 20 18:31:09 2023

Filename/usr/share/perl/5.36/version.pm
StatementsExecuted 63 statements in 446µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
33338µs50µsversion::::importversion::import
75423µs23µsversion::::_VERSIONversion::_VERSION (xsub)
11111µs11µsversion::::BEGIN@4version::BEGIN@4
1114µs4µsversion::::declareversion::declare (xsub)
1114µs21µsversion::::BEGIN@6version::BEGIN@6
1114µs7µsversion::::BEGIN@27version::BEGIN@27
1113µs4µsversion::::BEGIN@5version::BEGIN@5
1113µs3µsversion::::(boolversion::(bool (xsub)
1112µs2µsversion::::(cmpversion::(cmp (xsub)
0000s0sversion::::__ANON__[:53]version::__ANON__[:53]
0000s0sversion::::__ANON__[:59]version::__ANON__[:59]
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
4225µs111µs
# spent 11µs within version::BEGIN@4 which was called: # once (11µs+0s) by Module::Load::Conditional::BEGIN@12 at line 4
use 5.006002;
# spent 11µs making 1 call to version::BEGIN@4
5213µs26µs
# spent 4µs (3+1) within version::BEGIN@5 which was called: # once (3µs+1µs) by Module::Load::Conditional::BEGIN@12 at line 5
use strict;
# spent 4µs making 1 call to version::BEGIN@5 # spent 1µs making 1 call to strict::import
6278µs238µs
# spent 21µs (4+17) within version::BEGIN@6 which was called: # once (4µs+17µs) by Module::Load::Conditional::BEGIN@12 at line 6
use warnings::register;
# spent 21µs making 1 call to version::BEGIN@6 # spent 17µs making 1 call to warnings::register::import
711µs12µsif ($] >= 5.015) {
# spent 2µs making 1 call to warnings::register_categories
8 warnings::register_categories(qw/version/);
9}
10
111200nsour $VERSION = 0.9929;
121100nsour $CLASS = 'version';
13our (@ISA, $STRICT, $LAX);
14
15# avoid using Exporter
16174µsrequire version::regex;
171800ns*version::is_lax = \&version::regex::is_lax;
181100ns*version::is_strict = \&version::regex::is_strict;
191300ns*LAX = \$version::regex::LAX;
201100ns*LAX_DECIMAL_VERSION = \$version::regex::LAX_DECIMAL_VERSION;
211100ns*LAX_DOTTED_DECIMAL_VERSION = \$version::regex::LAX_DOTTED_DECIMAL_VERSION;
221100ns*STRICT = \$version::regex::STRICT;
231100ns*STRICT_DECIMAL_VERSION = \$version::regex::STRICT_DECIMAL_VERSION;
2410s*STRICT_DOTTED_DECIMAL_VERSION = \$version::regex::STRICT_DOTTED_DECIMAL_VERSION;
25
26
# spent 50µs (38+12) within version::import which was called 3 times, avg 17µs/call: # once (15µs+5µs) by ExtUtils::MakeMaker::version::BEGIN@1 at line 1 of (eval 47)[ExtUtils/MakeMaker/version.pm:25] # once (13µs+4µs) by Module::Load::Conditional::BEGIN@12 at line 12 of Module/Load/Conditional.pm # once (9µs+3µs) by Module::Metadata::BEGIN@27 at line 27 of Module/Metadata.pm
sub import {
272210µs210µs
# spent 7µs (4+3) within version::BEGIN@27 which was called: # once (4µs+3µs) by Module::Load::Conditional::BEGIN@12 at line 27
no strict 'refs';
# spent 7µs making 1 call to version::BEGIN@27 # spent 3µs making 1 call to strict::unimport
2831µs my ($class) = shift;
29
30 # Set up any derived class
313900ns unless ($class eq $CLASS) {
32 local $^W;
33 *{$class.'::declare'} = \&{$CLASS.'::declare'};
34 *{$class.'::qv'} = \&{$CLASS.'::qv'};
35 }
36
373500ns my %args;
383900ns if (@_) { # any remaining terms are arguments
39 map { $args{$_} = 1 } @_
40 }
41 else { # no parameters at all on use line
4233µs %args =
43 (
44 qv => 1,
45 'UNIVERSAL::VERSION' => 1,
46 );
47 }
48
4933µs312µs my $callpkg = caller();
# spent 12µs making 3 calls to Contextual::Return::__ANON__[Contextual/Return.pm:30], avg 4µs/call
50
5131µs if (exists($args{declare})) {
52 *{$callpkg.'::declare'} =
53 sub {return $class->declare(shift) }
54 unless defined(&{$callpkg.'::declare'});
55 }
56
57311µs if (exists($args{qv})) {
58 *{$callpkg.'::qv'} =
59 sub {return $class->qv(shift) }
60 unless defined(&{$callpkg.'::qv'});
61 }
62
6331µs if (exists($args{'UNIVERSAL::VERSION'})) {
6433µs local $^W;
65 *UNIVERSAL::VERSION
6634µs = \&{$CLASS.'::_VERSION'};
67 }
68
693500ns if (exists($args{'VERSION'})) {
70 *{$callpkg.'::VERSION'} = \&{$CLASS.'::_VERSION'};
71 }
72
733500ns if (exists($args{'is_strict'})) {
74 *{$callpkg.'::is_strict'} = \&{$CLASS.'::is_strict'}
75 unless defined(&{$callpkg.'::is_strict'});
76 }
77
7836µs if (exists($args{'is_lax'})) {
79 *{$callpkg.'::is_lax'} = \&{$CLASS.'::is_lax'}
80 unless defined(&{$callpkg.'::is_lax'});
81 }
82}
83
84
8515µs1;
 
# spent 3µs within version::(bool which was called: # once (3µs+0s) by diagnostics::BEGIN@196 at line 59 of Config.pm
sub version::(bool; # xsub
# spent 2µs within version::(cmp which was called: # once (2µs+0s) by diagnostics::BEGIN@196 at line 62 of Config.pm
sub version::(cmp; # xsub
# spent 23µs within version::_VERSION which was called 7 times, avg 3µs/call: # 2 times (6µs+0s) by strictures::VERSION at line 99 of strictures.pm, avg 3µs/call # 2 times (600ns+0s) by Gradescope::Color::BEGIN@4 or Gradescope::Translate::BEGIN@4 at line 105 of strictures.pm, avg 300ns/call # once (6µs+0s) by Pod::Simple::BEGIN@8 at line 8 of Pod/Simple.pm # once (6µs+0s) by Encode::BEGIN@15 at line 15 of Encode.pm # once (5µs+0s) by Module::Metadata::BEGIN@27 at line 27 of Module/Metadata.pm
sub version::_VERSION; # xsub
# spent 4µs within version::declare which was called: # once (4µs+0s) by main::RUNTIME at line 46 of /home/hejohns/documentsNoSync/22f/490/gradescope-utils/bin/split.pl
sub version::declare; # xsub