Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/x86_64-linux/File/Glob.pm |
Statements | Executed 28 statements in 418µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 7µs | 8µs | BEGIN@3 | File::Glob::
1 | 1 | 1 | 6µs | 141µs | import | File::Glob::
1 | 1 | 1 | 6µs | 16µs | BEGIN@54 | File::Glob::
1 | 1 | 1 | 5µs | 8µs | BEGIN@58 | File::Glob::
1 | 1 | 1 | 2µs | 2µs | CORE:match (opcode) | File::Glob::
2 | 2 | 2 | 1µs | 1µs | GLOB_CSH (xsub) | File::Glob::
0 | 0 | 0 | 0s | 0s | glob | File::Glob::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package File::Glob; | ||||
2 | |||||
3 | 2 | 120µs | 2 | 10µs | # spent 8µs (7+1) within File::Glob::BEGIN@3 which was called:
# once (7µs+1µs) by File::GlobMapper::BEGIN@10 at line 3 # spent 8µs making 1 call to File::Glob::BEGIN@3
# spent 1µs making 1 call to strict::import |
4 | our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, $DEFAULT_FLAGS); | ||||
5 | |||||
6 | 1 | 300ns | require XSLoader; | ||
7 | |||||
8 | 1 | 4µs | @ISA = qw(Exporter); | ||
9 | |||||
10 | # NOTE: The glob() export is only here for compatibility with 5.6.0. | ||||
11 | # csh_glob() should not be used directly, unless you know what you're doing. | ||||
12 | |||||
13 | 1 | 2µs | %EXPORT_TAGS = ( | ||
14 | 'glob' => [ qw( | ||||
15 | GLOB_ABEND | ||||
16 | GLOB_ALPHASORT | ||||
17 | GLOB_ALTDIRFUNC | ||||
18 | GLOB_BRACE | ||||
19 | GLOB_CSH | ||||
20 | GLOB_ERR | ||||
21 | GLOB_ERROR | ||||
22 | GLOB_LIMIT | ||||
23 | GLOB_MARK | ||||
24 | GLOB_NOCASE | ||||
25 | GLOB_NOCHECK | ||||
26 | GLOB_NOMAGIC | ||||
27 | GLOB_NOSORT | ||||
28 | GLOB_NOSPACE | ||||
29 | GLOB_QUOTE | ||||
30 | GLOB_TILDE | ||||
31 | bsd_glob | ||||
32 | glob | ||||
33 | ) ], | ||||
34 | ); | ||||
35 | 1 | 1µs | $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}]; | ||
36 | 1 | 500ns | pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob" | ||
37 | |||||
38 | 1 | 2µs | @EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob'); | ||
39 | |||||
40 | 1 | 100ns | $VERSION = '1.24'; | ||
41 | |||||
42 | # spent 141µs (6+135) within File::Glob::import which was called:
# once (6µs+135µs) by File::GlobMapper::BEGIN@10 at line 19 of File/GlobMapper.pm | ||||
43 | 1 | 500ns | require Exporter; | ||
44 | 1 | 400ns | local $Exporter::ExportLevel = $Exporter::ExportLevel + 1; | ||
45 | Exporter::import(grep { | ||||
46 | 3 | 4µs | 1 | 135µs | my $passthrough; # spent 135µs making 1 call to Exporter::import |
47 | 2 | 800ns | if ($_ eq ':case') { | ||
48 | $DEFAULT_FLAGS &= ~GLOB_NOCASE() | ||||
49 | } | ||||
50 | elsif ($_ eq ':nocase') { | ||||
51 | $DEFAULT_FLAGS |= GLOB_NOCASE(); | ||||
52 | } | ||||
53 | elsif ($_ eq ':globally') { | ||||
54 | 2 | 23µs | 2 | 25µs | # spent 16µs (6+10) within File::Glob::BEGIN@54 which was called:
# once (6µs+10µs) by File::GlobMapper::BEGIN@10 at line 54 # spent 16µs making 1 call to File::Glob::BEGIN@54
# spent 10µs making 1 call to warnings::unimport |
55 | *CORE::GLOBAL::glob = \&File::Glob::csh_glob; | ||||
56 | } | ||||
57 | elsif ($_ eq ':bsd_glob') { | ||||
58 | 2 | 112µs | 2 | 10µs | # spent 8µs (5+3) within File::Glob::BEGIN@58 which was called:
# once (5µs+3µs) by File::GlobMapper::BEGIN@10 at line 58 # spent 8µs making 1 call to File::Glob::BEGIN@58
# spent 3µs making 1 call to strict::unimport |
59 | $passthrough = 1; | ||||
60 | } | ||||
61 | else { | ||||
62 | 2 | 400ns | $passthrough = 1; | ||
63 | } | ||||
64 | 2 | 300ns | $passthrough; | ||
65 | } @_); | ||||
66 | } | ||||
67 | |||||
68 | 1 | 130µs | 1 | 124µs | XSLoader::load(); # spent 124µs making 1 call to XSLoader::load |
69 | |||||
70 | 1 | 4µs | 1 | 700ns | $DEFAULT_FLAGS = GLOB_CSH(); # spent 700ns making 1 call to File::Glob::GLOB_CSH |
71 | 1 | 4µs | 1 | 2µs | if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos)$/) { # spent 2µs making 1 call to File::Glob::CORE:match |
72 | $DEFAULT_FLAGS |= GLOB_NOCASE(); | ||||
73 | } | ||||
74 | |||||
75 | # File::Glob::glob() is deprecated because its prototype is different from | ||||
76 | # CORE::glob() (use bsd_glob() instead) | ||||
77 | sub glob { | ||||
78 | splice @_, 1; # no flags | ||||
79 | goto &bsd_glob; | ||||
80 | } | ||||
81 | |||||
82 | 1 | 9µs | 1; | ||
83 | __END__ | ||||
# spent 2µs within File::Glob::CORE:match which was called:
# once (2µs+0s) by File::GlobMapper::BEGIN@10 at line 71 | |||||
# spent 1µs within File::Glob::GLOB_CSH which was called 2 times, avg 550ns/call:
# once (700ns+0s) by File::GlobMapper::BEGIN@10 at line 70
# once (400ns+0s) by File::GlobMapper::BEGIN@10 at line 20 of File/GlobMapper.pm |