← 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/lib/x86_64-linux-gnu/perl-base/Config.pm
StatementsExecuted 2624 statements in 4.37ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1111.50ms1.53msConfig::::AUTOLOADConfig::AUTOLOAD
12881151.38ms21.3msConfig::::FETCHConfig::FETCH
44426µs26µsConfig::::importConfig::import
1117µs8µsConfig::::BEGIN@9Config::BEGIN@9
1114µs8µsConfig::::BEGIN@47Config::BEGIN@47
1113µs17µsConfig::::BEGIN@10Config::BEGIN@10
111900ns900nsConfig::::TIEHASHConfig::TIEHASH
0000s0sConfig::::DESTROYConfig::DESTROY
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# This file was created by configpm when Perl was built. Any changes
2# made to this file will be lost the next time perl is built.
3
4# for a description of the variables, please have a look at the
5# Glossary file, as written in the Porting folder, or use the url:
6# https://github.com/Perl/perl5/blob/blead/Porting/Glossary
7
8package Config;
9217µs29µs
# spent 8µs (7+1) within Config::BEGIN@9 which was called: # once (7µs+1µs) by diagnostics::BEGIN@196 at line 9
use strict;
# spent 8µs making 1 call to Config::BEGIN@9 # spent 1µs making 1 call to strict::import
10289µs230µs
# spent 17µs (3+13) within Config::BEGIN@10 which was called: # once (3µs+13µs) by diagnostics::BEGIN@196 at line 10
use warnings;
# spent 17µs making 1 call to Config::BEGIN@10 # spent 13µs making 1 call to warnings::import
11our ( %Config, $VERSION );
12
131200ns$VERSION = "5.036000";
14
15# Skip @Config::EXPORT because it only contains %Config, which we special
16# case below as it's not a function. @Config::EXPORT won't change in the
17# lifetime of Perl 5.
1812µsmy %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1,
19 config_re => 1, compile_date => 1, local_patches => 1,
20 bincompat_options => 1, non_bincompat_options => 1,
21 header_files => 1);
22
231400ns@Config::EXPORT = qw(%Config);
2411µs@Config::EXPORT_OK = keys %Export_Cache;
25
26# Need to stub all the functions to make code such as print Config::config_sh
27# keep working
28
29sub bincompat_options;
30sub compile_date;
31sub config_re;
32sub config_sh;
33sub config_vars;
34sub header_files;
35sub local_patches;
36sub myconfig;
37sub non_bincompat_options;
38
39# Define our own import method to avoid pulling in the full Exporter:
40
# spent 26µs within Config::import which was called 4 times, avg 6µs/call: # once (7µs+0s) by DynaLoader::BEGIN@31 at line 31 of DynaLoader.pm # once (7µs+0s) by lib::BEGIN@6 at line 6 of lib.pm # once (6µs+0s) by diagnostics::BEGIN@196 at line 196 of diagnostics.pm # once (6µs+0s) by Pod::Usage::BEGIN@17 at line 17 of Pod/Usage.pm
sub import {
414700ns shift;
4244µs @_ = @Config::EXPORT unless @_;
43
4445µs my @funcs = grep $_ ne '%Config', @_;
4542µs my $export_Config = @funcs < @_ ? 1 : 0;
46
472226µs211µs
# spent 8µs (4+3) within Config::BEGIN@47 which was called: # once (4µs+3µs) by diagnostics::BEGIN@196 at line 47
no strict 'refs';
# spent 8µs making 1 call to Config::BEGIN@47 # spent 3µs making 1 call to strict::unimport
4842µs my $callpkg = caller(0);
4942µs foreach my $func (@funcs) {
50 die qq{"$func" is not exported by the Config module\n}
51 unless $Export_Cache{$func};
52 *{$callpkg.'::'.$func} = \&{$func};
53 }
54
5547µs *{"$callpkg\::Config"} = \%Config if $export_Config;
5649µs return;
57}
58
59118µs13µsdie "$0: Perl lib version (5.36.0) doesn't match executable '$^X' version ($])"
# spent 3µs making 1 call to version::(bool
60 unless $^V;
61
6214µs12µs$^V eq 5.36.0
# spent 2µs making 1 call to version::(cmp
63 or die sprintf "%s: Perl lib version (5.36.0) doesn't match executable '$^X' version (%vd)", $0, $^V;
64
65
# spent 21.3ms (1.38+19.9) within Config::FETCH which was called 1288 times, avg 17µs/call: # 1276 times (1.36ms+19.9ms) by ExtUtils::MakeMaker::BEGIN@10 at line 12 of ExtUtils/MakeMaker/Config.pm, avg 17µs/call # 3 times (4µs+0s) by Contextual::Return::BEGIN@361 at line 50 of DynaLoader.pm, avg 1µs/call # once (3µs+0s) by main::BEGIN@8 at line 198 of diagnostics.pm # once (3µs+0s) by main::BEGIN@35 at line 10 of lib.pm # once (2µs+0s) by main::BEGIN@14 at line 217 of Cwd.pm # once (900ns+0s) by main::BEGIN@35 at line 11 of lib.pm # once (700ns+0s) by Contextual::Return::BEGIN@361 at line 73 of DynaLoader.pm # once (700ns+0s) by Contextual::Return::BEGIN@361 at line 71 of DynaLoader.pm # once (700ns+0s) by main::BEGIN@35 at line 12 of lib.pm # once (600ns+0s) by Contextual::Return::BEGIN@361 at line 69 of DynaLoader.pm # once (400ns+0s) by Contextual::Return::BEGIN@361 at line 72 of DynaLoader.pm
sub FETCH {
661288186µs my($self, $key) = @_;
67
68 # check for cached value (which may be undef so we use exists not defined)
6912883.72ms125319.9ms return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
# spent 19.9ms making 1253 calls to Config::fetch_string, avg 16µs/call
70}
71
72
# spent 900ns within Config::TIEHASH which was called: # once (900ns+0s) by diagnostics::BEGIN@196 at line 85
sub TIEHASH {
7312µs bless $_[1], $_[0];
74}
75
76sub DESTROY { }
77
78
# spent 1.53ms (1.50+33µs) within Config::AUTOLOAD which was called: # once (1.50ms+33µs) by ExtUtils::MakeMaker::BEGIN@10 at line 12 of ExtUtils/MakeMaker/Config.pm
sub AUTOLOAD {
79153µs require 'Config_heavy.pl';
8017µs25µs goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
# spent 5µs making 1 call to Config::launcher # spent 600ns making 1 call to Config::CORE:match
81 die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
82}
83
84# tie returns the object, so the value returned to require will be true.
85116µs1900nstie %Config, 'Config', {
# spent 900ns making 1 call to Config::TIEHASH
86 archlibexp => '/usr/lib/x86_64-linux-gnu/perl/5.36',
87 archname => 'x86_64-linux-gnu-thread-multi',
88 cc => 'x86_64-linux-gnu-gcc',
89 d_readlink => 'define',
90 d_symlink => 'define',
91 dlext => 'so',
92 dlsrc => 'dl_dlopen.xs',
93 dont_use_nlink => undef,
94 exe_ext => '',
95 inc_version_list => '',
96 intsize => '4',
97 ldlibpthname => 'LD_LIBRARY_PATH',
98 libpth => '/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib',
99 osname => 'linux',
100 osvers => '4.19.0',
101 path_sep => ':',
102 privlibexp => '/usr/share/perl/5.36',
103 scriptdir => '/usr/bin',
104 sitearchexp => '/usr/local/lib/x86_64-linux-gnu/perl/5.36.0',
105 sitelibexp => '/usr/local/share/perl/5.36.0',
106 so => 'so',
107 useithreads => 'define',
108 usevendorprefix => 'define',
109 version => '5.36.0',
110};