← Index
NYTProf Performance Profile   « line view »
For rbm/rbm
  Run on Wed Feb 12 20:36:06 2020
Reported on Wed Feb 12 21:42:25 2020

Filename/usr/lib/x86_64-linux-gnu/perl/5.28/Errno.pm
StatementsExecuted 282 statements in 839µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
111192µs192µsErrno::::BEGIN@17Errno::BEGIN@17
11110µs12µsErrno::::BEGIN@9Errno::BEGIN@9
1119µs11µsErrno::::_tie_itErrno::_tie_it
1112µs2µsErrno::::TIEHASHErrno::TIEHASH
0000s0sErrno::::EXISTSErrno::EXISTS
0000s0sErrno::::FETCHErrno::FETCH
0000s0sErrno::::FIRSTKEYErrno::FIRSTKEY
0000s0sErrno::::NEXTKEYErrno::NEXTKEY
0000s0sErrno::::STOREErrno::STORE
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# -*- buffer-read-only: t -*-
2#
3# This file is auto-generated by ext/Errno/Errno_pm.PL.
4# ***ANY*** changes here will be lost.
5#
6
7package Errno;
81400nsrequire Exporter;
92294µs214µs
# spent 12µs (10+2) within Errno::BEGIN@9 which was called: # once (10µs+2µs) by File::Temp::BEGIN@16 at line 9
use strict;
# spent 12µs making 1 call to Errno::BEGIN@9 # spent 2µs making 1 call to strict::import
10
111300nsour $VERSION = "1.30";
12111µs$VERSION = eval $VERSION;
# spent 2µs executing statements in string eval
1315µsour @ISA = 'Exporter';
14
151100nsmy %err;
16
17
# spent 192µs within Errno::BEGIN@17 which was called: # once (192µs+0s) by File::Temp::BEGIN@16 at line 173
BEGIN {
18154µs %err = (
19 EPERM => 1,
20 ENOENT => 2,
21 ESRCH => 3,
22 EINTR => 4,
23 EIO => 5,
24 ENXIO => 6,
25 E2BIG => 7,
26 ENOEXEC => 8,
27 EBADF => 9,
28 ECHILD => 10,
29 EAGAIN => 11,
30 EWOULDBLOCK => 11,
31 ENOMEM => 12,
32 EACCES => 13,
33 EFAULT => 14,
34 ENOTBLK => 15,
35 EBUSY => 16,
36 EEXIST => 17,
37 EXDEV => 18,
38 ENODEV => 19,
39 ENOTDIR => 20,
40 EISDIR => 21,
41 EINVAL => 22,
42 ENFILE => 23,
43 EMFILE => 24,
44 ENOTTY => 25,
45 ETXTBSY => 26,
46 EFBIG => 27,
47 ENOSPC => 28,
48 ESPIPE => 29,
49 EROFS => 30,
50 EMLINK => 31,
51 EPIPE => 32,
52 EDOM => 33,
53 ERANGE => 34,
54 EDEADLK => 35,
55 EDEADLOCK => 35,
56 ENAMETOOLONG => 36,
57 ENOLCK => 37,
58 ENOSYS => 38,
59 ENOTEMPTY => 39,
60 ELOOP => 40,
61 ENOMSG => 42,
62 EIDRM => 43,
63 ECHRNG => 44,
64 EL2NSYNC => 45,
65 EL3HLT => 46,
66 EL3RST => 47,
67 ELNRNG => 48,
68 EUNATCH => 49,
69 ENOCSI => 50,
70 EL2HLT => 51,
71 EBADE => 52,
72 EBADR => 53,
73 EXFULL => 54,
74 ENOANO => 55,
75 EBADRQC => 56,
76 EBADSLT => 57,
77 EBFONT => 59,
78 ENOSTR => 60,
79 ENODATA => 61,
80 ETIME => 62,
81 ENOSR => 63,
82 ENONET => 64,
83 ENOPKG => 65,
84 EREMOTE => 66,
85 ENOLINK => 67,
86 EADV => 68,
87 ESRMNT => 69,
88 ECOMM => 70,
89 EPROTO => 71,
90 EMULTIHOP => 72,
91 EDOTDOT => 73,
92 EBADMSG => 74,
93 EOVERFLOW => 75,
94 ENOTUNIQ => 76,
95 EBADFD => 77,
96 EREMCHG => 78,
97 ELIBACC => 79,
98 ELIBBAD => 80,
99 ELIBSCN => 81,
100 ELIBMAX => 82,
101 ELIBEXEC => 83,
102 EILSEQ => 84,
103 ERESTART => 85,
104 ESTRPIPE => 86,
105 EUSERS => 87,
106 ENOTSOCK => 88,
107 EDESTADDRREQ => 89,
108 EMSGSIZE => 90,
109 EPROTOTYPE => 91,
110 ENOPROTOOPT => 92,
111 EPROTONOSUPPORT => 93,
112 ESOCKTNOSUPPORT => 94,
113 ENOTSUP => 95,
114 EOPNOTSUPP => 95,
115 EPFNOSUPPORT => 96,
116 EAFNOSUPPORT => 97,
117 EADDRINUSE => 98,
118 EADDRNOTAVAIL => 99,
119 ENETDOWN => 100,
120 ENETUNREACH => 101,
121 ENETRESET => 102,
122 ECONNABORTED => 103,
123 ECONNRESET => 104,
124 ENOBUFS => 105,
125 EISCONN => 106,
126 ENOTCONN => 107,
127 ESHUTDOWN => 108,
128 ETOOMANYREFS => 109,
129 ETIMEDOUT => 110,
130 ECONNREFUSED => 111,
131 EHOSTDOWN => 112,
132 EHOSTUNREACH => 113,
133 EALREADY => 114,
134 EINPROGRESS => 115,
135 ESTALE => 116,
136 EUCLEAN => 117,
137 ENOTNAM => 118,
138 ENAVAIL => 119,
139 EISNAM => 120,
140 EREMOTEIO => 121,
141 EDQUOT => 122,
142 ENOMEDIUM => 123,
143 EMEDIUMTYPE => 124,
144 ECANCELED => 125,
145 ENOKEY => 126,
146 EKEYEXPIRED => 127,
147 EKEYREVOKED => 128,
148 EKEYREJECTED => 129,
149 EOWNERDEAD => 130,
150 ENOTRECOVERABLE => 131,
151 ERFKILL => 132,
152 EHWPOISON => 133,
153 );
154 # Generate proxy constant subroutines for all the values.
155 # Well, almost all the values. Unfortunately we can't assume that at this
156 # point that our symbol table is empty, as code such as if the parser has
157 # seen code such as C<exists &Errno::EINVAL>, it will have created the
158 # typeglob.
159 # Doing this before defining @EXPORT_OK etc means that even if a platform is
160 # crazy enough to define EXPORT_OK as an error constant, everything will
161 # still work, because the parser will upgrade the PCS to a real typeglob.
162 # We rely on the subroutine definitions below to update the internal caches.
163 # Don't use %each, as we don't want a copy of the value.
164118µs foreach my $name (keys %err) {
16513444µs if ($Errno::{$name}) {
166 # We expect this to be reached fairly rarely, so take an approach
167 # which uses the least compile time effort in the common case:
168125µs eval "sub $name() { $err{$name} }; 1" or die $@;
# spent 2µs executing statements in string eval
169 } else {
17013349µs $Errno::{$name} = \$err{$name};
171 }
172 }
1731296µs1192µs}
# spent 192µs making 1 call to Errno::BEGIN@17
174
175111µsour @EXPORT_OK = keys %err;
176
17716µsour %EXPORT_TAGS = (
178 POSIX => [qw(
179 E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
180 EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
181 EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
182 EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
183 EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
184 ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK
185 ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
186 EPFNOSUPPORT EPIPE EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART
187 EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT
188 ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
189 )],
190);
191
19215µs
# spent 2µs within Errno::TIEHASH which was called: # once (2µs+0s) by Errno::_tie_it at line 224
sub TIEHASH { bless \%err }
193
194sub FETCH {
195 my (undef, $errname) = @_;
196 return "" unless exists $err{$errname};
197 my $errno = $err{$errname};
198 return $errno == $! ? $errno : 0;
199}
200
201sub STORE {
202 require Carp;
203 Carp::confess("ERRNO hash is read only!");
204}
205
206# This is the true return value
207112µs*CLEAR = *DELETE = \*STORE; # Typeglob aliasing uses less space
208
209sub NEXTKEY {
210 each %err;
211}
212
213sub FIRSTKEY {
214 my $s = scalar keys %err; # initialize iterator
215 each %err;
216}
217
218sub EXISTS {
219 my (undef, $errname) = @_;
220 exists $err{$errname};
221}
222
223
# spent 11µs (9+2) within Errno::_tie_it which was called: # once (9µs+2µs) by IO::CaptureOutput::_proxy::BEGIN@138 at line 391 of File/Temp.pm
sub _tie_it {
22417µs12µs tie %{$_[0]}, __PACKAGE__;
# spent 2µs making 1 call to Errno::TIEHASH
225}
226
227__END__