← Index
NYTProf Performance Profile   « block view • line view • sub view »
For C:/lo/libo-master/solenv/bin/make_installer.pl
  Run on Mon Sep 24 00:52:54 2012
Reported on Mon Sep 24 07:34:31 2012

Filename/usr/lib/perl5/site_perl/5.14/Archive/Zip.pm
StatementsExecuted 588188 statements in 1.81s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
998211455ms1.99sArchive::Zip::::_asLocalNameArchive::Zip::_asLocalName
1879333312ms11.8sArchive::Zip::::_newFileHandleArchive::Zip::_newFileHandle
2017422276ms624msArchive::Zip::::_readSignatureArchive::Zip::_readSignature
1034911253ms1.22sArchive::Zip::::_printArchive::Zip::_print
1879311189ms230msArchive::Zip::::_CANArchive::Zip::_CAN
1879333185ms584msArchive::Zip::::_binmodeArchive::Zip::_binmode
63643153.8ms66.4msArchive::Zip::::_ISAArchive::Zip::_ISA
15912230.7ms97.2msArchive::Zip::::_isSeekableArchive::Zip::_isSeekable
201741127.3ms27.3msArchive::Zip::::CORE:unpackArchive::Zip::CORE:unpack (opcode)
11118.4ms46.7msArchive::Zip::::BEGIN@14Archive::Zip::BEGIN@14
101921115.0ms15.0msArchive::Zip::::ZIPMEMBERCLASSArchive::Zip::ZIPMEMBERCLASS (xsub)
1119.23ms22.6msArchive::Zip::::BEGIN@12Archive::Zip::BEGIN@12
1114.32ms34.2msArchive::Zip::::BEGIN@10Archive::Zip::BEGIN@10
1113.85ms4.53msArchive::Zip::::BEGIN@15Archive::Zip::BEGIN@15
210113.79ms9.52msArchive::Zip::::newArchive::Zip::new
1112.99ms2.99msArchive::Zip::::BEGIN@7Archive::Zip::BEGIN@7
137111.66ms2.67msArchive::Zip::::computeCRC32Archive::Zip::computeCRC32
21011378µs378µsArchive::Zip::::ZIPARCHIVECLASSArchive::Zip::ZIPARCHIVECLASS (xsub)
111206µs215µsArchive::Zip::::BEGIN@3Archive::Zip::BEGIN@3
11174µs226µsArchive::Zip::::BEGIN@158Archive::Zip::BEGIN@158
11173µs73µsArchive::Zip::::BEGIN@4Archive::Zip::BEGIN@4
11163µs178µsArchive::Zip::::BEGIN@37Archive::Zip::BEGIN@37
11121µs96µsArchive::Zip::::BEGIN@233Archive::Zip::BEGIN@233
11121µs21µsArchive::Zip::::CORE:packArchive::Zip::CORE:pack (opcode)
11119µs73µsArchive::Zip::::BEGIN@159Archive::Zip::BEGIN@159
11116µs16µsArchive::Zip::::BEGIN@18Archive::Zip::BEGIN@18
11116µs67µsArchive::Zip::::BEGIN@240Archive::Zip::BEGIN@240
11116µs68µsArchive::Zip::::BEGIN@163Archive::Zip::BEGIN@163
11115µs65µsArchive::Zip::::BEGIN@206Archive::Zip::BEGIN@206
11115µs66µsArchive::Zip::::BEGIN@164Archive::Zip::BEGIN@164
11115µs93µsArchive::Zip::::BEGIN@149Archive::Zip::BEGIN@149
11115µs89µsArchive::Zip::::BEGIN@17Archive::Zip::BEGIN@17
11115µs64µsArchive::Zip::::BEGIN@230Archive::Zip::BEGIN@230
11114µs65µsArchive::Zip::::BEGIN@174Archive::Zip::BEGIN@174
11114µs66µsArchive::Zip::::BEGIN@160Archive::Zip::BEGIN@160
11114µs65µsArchive::Zip::::BEGIN@221Archive::Zip::BEGIN@221
11113µs63µsArchive::Zip::::BEGIN@250Archive::Zip::BEGIN@250
11113µs62µsArchive::Zip::::BEGIN@248Archive::Zip::BEGIN@248
11113µs62µsArchive::Zip::::BEGIN@262Archive::Zip::BEGIN@262
11113µs61µsArchive::Zip::::BEGIN@171Archive::Zip::BEGIN@171
11113µs64µsArchive::Zip::::BEGIN@167Archive::Zip::BEGIN@167
11113µs63µsArchive::Zip::::BEGIN@168Archive::Zip::BEGIN@168
11113µs63µsArchive::Zip::::BEGIN@235Archive::Zip::BEGIN@235
11113µs63µsArchive::Zip::::BEGIN@249Archive::Zip::BEGIN@249
11113µs64µsArchive::Zip::::BEGIN@232Archive::Zip::BEGIN@232
11113µs60µsArchive::Zip::::BEGIN@239Archive::Zip::BEGIN@239
11113µs64µsArchive::Zip::::BEGIN@169Archive::Zip::BEGIN@169
11113µs62µsArchive::Zip::::BEGIN@199Archive::Zip::BEGIN@199
11113µs63µsArchive::Zip::::BEGIN@176Archive::Zip::BEGIN@176
11113µs61µsArchive::Zip::::BEGIN@197Archive::Zip::BEGIN@197
11113µs63µsArchive::Zip::::BEGIN@212Archive::Zip::BEGIN@212
11113µs63µsArchive::Zip::::BEGIN@165Archive::Zip::BEGIN@165
11113µs62µsArchive::Zip::::BEGIN@243Archive::Zip::BEGIN@243
11113µs64µsArchive::Zip::::BEGIN@188Archive::Zip::BEGIN@188
11112µs65µsArchive::Zip::::BEGIN@216Archive::Zip::BEGIN@216
11112µs64µsArchive::Zip::::BEGIN@170Archive::Zip::BEGIN@170
11112µs60µsArchive::Zip::::BEGIN@215Archive::Zip::BEGIN@215
11112µs66µsArchive::Zip::::BEGIN@150Archive::Zip::BEGIN@150
11112µs61µsArchive::Zip::::BEGIN@198Archive::Zip::BEGIN@198
11112µs63µsArchive::Zip::::BEGIN@229Archive::Zip::BEGIN@229
11112µs67µsArchive::Zip::::BEGIN@36Archive::Zip::BEGIN@36
11112µs61µsArchive::Zip::::BEGIN@182Archive::Zip::BEGIN@182
11112µs64µsArchive::Zip::::BEGIN@208Archive::Zip::BEGIN@208
11112µs62µsArchive::Zip::::BEGIN@247Archive::Zip::BEGIN@247
11112µs66µsArchive::Zip::::BEGIN@161Archive::Zip::BEGIN@161
11112µs62µsArchive::Zip::::BEGIN@245Archive::Zip::BEGIN@245
11112µs66µsArchive::Zip::::BEGIN@25Archive::Zip::BEGIN@25
11112µs62µsArchive::Zip::::BEGIN@152Archive::Zip::BEGIN@152
11112µs62µsArchive::Zip::::BEGIN@172Archive::Zip::BEGIN@172
11112µs64µsArchive::Zip::::BEGIN@196Archive::Zip::BEGIN@196
11112µs62µsArchive::Zip::::BEGIN@251Archive::Zip::BEGIN@251
11112µs65µsArchive::Zip::::BEGIN@162Archive::Zip::BEGIN@162
11112µs63µsArchive::Zip::::BEGIN@151Archive::Zip::BEGIN@151
11112µs65µsArchive::Zip::::BEGIN@211Archive::Zip::BEGIN@211
11112µs64µsArchive::Zip::::BEGIN@207Archive::Zip::BEGIN@207
11112µs61µsArchive::Zip::::BEGIN@226Archive::Zip::BEGIN@226
11112µs62µsArchive::Zip::::BEGIN@153Archive::Zip::BEGIN@153
11112µs12µsArchive::Zip::::BEGIN@8Archive::Zip::BEGIN@8
11112µs62µsArchive::Zip::::BEGIN@189Archive::Zip::BEGIN@189
11112µs62µsArchive::Zip::::BEGIN@183Archive::Zip::BEGIN@183
11112µs61µsArchive::Zip::::BEGIN@191Archive::Zip::BEGIN@191
11112µs67µsArchive::Zip::::BEGIN@236Archive::Zip::BEGIN@236
11112µs58µsArchive::Zip::::BEGIN@220Archive::Zip::BEGIN@220
11112µs64µsArchive::Zip::::BEGIN@190Archive::Zip::BEGIN@190
11112µs61µsArchive::Zip::::BEGIN@175Archive::Zip::BEGIN@175
11112µs61µsArchive::Zip::::BEGIN@222Archive::Zip::BEGIN@222
11112µs60µsArchive::Zip::::BEGIN@201Archive::Zip::BEGIN@201
11112µs60µsArchive::Zip::::BEGIN@263Archive::Zip::BEGIN@263
11112µs62µsArchive::Zip::::BEGIN@246Archive::Zip::BEGIN@246
11112µs63µsArchive::Zip::::BEGIN@181Archive::Zip::BEGIN@181
11111µs59µsArchive::Zip::::BEGIN@200Archive::Zip::BEGIN@200
11111µs63µsArchive::Zip::::BEGIN@166Archive::Zip::BEGIN@166
11111µs11µsArchive::Zip::::BEGIN@13Archive::Zip::BEGIN@13
11111µs58µsArchive::Zip::::BEGIN@225Archive::Zip::BEGIN@225
11111µs61µsArchive::Zip::::BEGIN@228Archive::Zip::BEGIN@228
11111µs62µsArchive::Zip::::BEGIN@238Archive::Zip::BEGIN@238
11111µs63µsArchive::Zip::::BEGIN@244Archive::Zip::BEGIN@244
11111µs60µsArchive::Zip::::BEGIN@217Archive::Zip::BEGIN@217
11111µs60µsArchive::Zip::::BEGIN@173Archive::Zip::BEGIN@173
1119µs9µsArchive::Zip::::BEGIN@11Archive::Zip::BEGIN@11
1118µs8µsArchive::Zip::::BEGIN@9Archive::Zip::BEGIN@9
1117µs7µsArchive::Zip::::BEGIN@26Archive::Zip::BEGIN@26
0000s0sArchive::Zip::::_asZipDirNameArchive::Zip::_asZipDirName
0000s0sArchive::Zip::::_errorArchive::Zip::_error
0000s0sArchive::Zip::::_formatErrorArchive::Zip::_formatError
0000s0sArchive::Zip::::_ioErrorArchive::Zip::_ioError
0000s0sArchive::Zip::::_printErrorArchive::Zip::_printError
0000s0sArchive::Zip::::_subclassResponsibilityArchive::Zip::_subclassResponsibility
0000s0sArchive::Zip::::chunkSizeArchive::Zip::chunkSize
0000s0sArchive::Zip::::setChunkSizeArchive::Zip::setChunkSize
0000s0sArchive::Zip::::setErrorHandlerArchive::Zip::setErrorHandler
0000s0sArchive::Zip::::tempFileArchive::Zip::tempFile
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Archive::Zip;
2
3271µs2224µs
# spent 215µs (206+9) within Archive::Zip::BEGIN@3 which was called: # once (206µs+9µs) by installer::archivefiles::BEGIN@30 at line 3
use strict;
# spent 215µs making 1 call to Archive::Zip::BEGIN@3 # spent 9µs making 1 call to strict::import
4
# spent 73µs within Archive::Zip::BEGIN@4 which was called: # once (73µs+0s) by installer::archivefiles::BEGIN@30 at line 6
BEGIN {
5172µs require 5.003_96;
6143µs173µs}
# spent 73µs making 1 call to Archive::Zip::BEGIN@4
723.03ms12.99ms
# spent 2.99ms within Archive::Zip::BEGIN@7 which was called: # once (2.99ms+0s) by installer::archivefiles::BEGIN@30 at line 7
use UNIVERSAL ();
# spent 2.99ms making 1 call to Archive::Zip::BEGIN@7
8247µs112µs
# spent 12µs within Archive::Zip::BEGIN@8 which was called: # once (12µs+0s) by installer::archivefiles::BEGIN@30 at line 8
use Carp ();
# spent 12µs making 1 call to Archive::Zip::BEGIN@8
9245µs18µs
# spent 8µs within Archive::Zip::BEGIN@9 which was called: # once (8µs+0s) by installer::archivefiles::BEGIN@30 at line 9
use Cwd ();
# spent 8µs making 1 call to Archive::Zip::BEGIN@9
1023.12ms134.2ms
# spent 34.2ms (4.32+29.9) within Archive::Zip::BEGIN@10 which was called: # once (4.32ms+29.9ms) by installer::archivefiles::BEGIN@30 at line 10
use IO::File ();
# spent 34.2ms making 1 call to Archive::Zip::BEGIN@10
11246µs19µs
# spent 9µs within Archive::Zip::BEGIN@11 which was called: # once (9µs+0s) by installer::archivefiles::BEGIN@30 at line 11
use IO::Seekable ();
# spent 9µs making 1 call to Archive::Zip::BEGIN@11
1222.77ms122.6ms
# spent 22.6ms (9.23+13.4) within Archive::Zip::BEGIN@12 which was called: # once (9.23ms+13.4ms) by installer::archivefiles::BEGIN@30 at line 12
use Compress::Raw::Zlib ();
# spent 22.6ms making 1 call to Archive::Zip::BEGIN@12
13246µs111µs
# spent 11µs within Archive::Zip::BEGIN@13 which was called: # once (11µs+0s) by installer::archivefiles::BEGIN@30 at line 13
use File::Spec ();
# spent 11µs making 1 call to Archive::Zip::BEGIN@13
1423.32ms146.7ms
# spent 46.7ms (18.4+28.3) within Archive::Zip::BEGIN@14 which was called: # once (18.4ms+28.3ms) by installer::archivefiles::BEGIN@30 at line 14
use File::Temp ();
# spent 46.7ms making 1 call to Archive::Zip::BEGIN@14
1522.92ms14.53ms
# spent 4.53ms (3.85+673µs) within Archive::Zip::BEGIN@15 which was called: # once (3.85ms+673µs) by installer::archivefiles::BEGIN@30 at line 15
use FileHandle ();
# spent 4.53ms making 1 call to Archive::Zip::BEGIN@15
16
17286µs2163µs
# spent 89µs (15+74) within Archive::Zip::BEGIN@17 which was called: # once (15µs+74µs) by installer::archivefiles::BEGIN@30 at line 17
use vars qw( $VERSION @ISA );
# spent 89µs making 1 call to Archive::Zip::BEGIN@17 # spent 74µs making 1 call to vars::import
18
# spent 16µs within Archive::Zip::BEGIN@18 which was called: # once (16µs+0s) by installer::archivefiles::BEGIN@30 at line 23
BEGIN {
19316µs $VERSION = '1.30';
20
21 require Exporter;
22 @ISA = qw( Exporter );
23154µs116µs}
# spent 16µs making 1 call to Archive::Zip::BEGIN@18
24
25280µs2120µs
# spent 66µs (12+54) within Archive::Zip::BEGIN@25 which was called: # once (12µs+54µs) by installer::archivefiles::BEGIN@30 at line 25
use vars qw( $ChunkSize $ErrorHandler );
# spent 66µs making 1 call to Archive::Zip::BEGIN@25 # spent 54µs making 1 call to vars::import
26
# spent 7µs within Archive::Zip::BEGIN@26 which was called: # once (7µs+0s) by installer::archivefiles::BEGIN@30 at line 33
BEGIN {
27 # This is the size we'll try to read, write, and (de)compress.
28 # You could set it to something different if you had lots of memory
29 # and needed more speed.
3028µs $ChunkSize ||= 32768;
31
32 $ErrorHandler = \&Carp::carp;
33151µs17µs}
# spent 7µs making 1 call to Archive::Zip::BEGIN@26
34
35# BEGIN block is necessary here so that other modules can use the constants.
362345µs2121µs
# spent 67µs (12+54) within Archive::Zip::BEGIN@36 which was called: # once (12µs+54µs) by installer::archivefiles::BEGIN@30 at line 36
use vars qw( @EXPORT_OK %EXPORT_TAGS );
# spent 67µs making 1 call to Archive::Zip::BEGIN@36 # spent 54µs making 1 call to vars::import
37
# spent 178µs (63+115) within Archive::Zip::BEGIN@37 which was called: # once (63µs+115µs) by installer::archivefiles::BEGIN@30 at line 146
BEGIN {
38354µs @EXPORT_OK = ('computeCRC32');
39 %EXPORT_TAGS = (
40 CONSTANTS => [ qw(
41 FA_MSDOS
42 FA_UNIX
43 GPBF_ENCRYPTED_MASK
44 GPBF_DEFLATING_COMPRESSION_MASK
45 GPBF_HAS_DATA_DESCRIPTOR_MASK
46 COMPRESSION_STORED
47 COMPRESSION_DEFLATED
48 COMPRESSION_LEVEL_NONE
49 COMPRESSION_LEVEL_DEFAULT
50 COMPRESSION_LEVEL_FASTEST
51 COMPRESSION_LEVEL_BEST_COMPRESSION
52 IFA_TEXT_FILE_MASK
53 IFA_TEXT_FILE
54 IFA_BINARY_FILE
55 ) ],
56
57 MISC_CONSTANTS => [ qw(
58 FA_AMIGA
59 FA_VAX_VMS
60 FA_VM_CMS
61 FA_ATARI_ST
62 FA_OS2_HPFS
63 FA_MACINTOSH
64 FA_Z_SYSTEM
65 FA_CPM
66 FA_TOPS20
67 FA_WINDOWS_NTFS
68 FA_QDOS
69 FA_ACORN
70 FA_VFAT
71 FA_MVS
72 FA_BEOS
73 FA_TANDEM
74 FA_THEOS
75 GPBF_IMPLODING_8K_SLIDING_DICTIONARY_MASK
76 GPBF_IMPLODING_3_SHANNON_FANO_TREES_MASK
77 GPBF_IS_COMPRESSED_PATCHED_DATA_MASK
78 COMPRESSION_SHRUNK
79 DEFLATING_COMPRESSION_NORMAL
80 DEFLATING_COMPRESSION_MAXIMUM
81 DEFLATING_COMPRESSION_FAST
82 DEFLATING_COMPRESSION_SUPER_FAST
83 COMPRESSION_REDUCED_1
84 COMPRESSION_REDUCED_2
85 COMPRESSION_REDUCED_3
86 COMPRESSION_REDUCED_4
87 COMPRESSION_IMPLODED
88 COMPRESSION_TOKENIZED
89 COMPRESSION_DEFLATED_ENHANCED
90 COMPRESSION_PKWARE_DATA_COMPRESSION_LIBRARY_IMPLODED
91 ) ],
92
93 ERROR_CODES => [ qw(
94 AZ_OK
95 AZ_STREAM_END
96 AZ_ERROR
97 AZ_FORMAT_ERROR
98 AZ_IO_ERROR
99 ) ],
100
101 # For Internal Use Only
102 PKZIP_CONSTANTS => [ qw(
103 SIGNATURE_FORMAT
104 SIGNATURE_LENGTH
105 LOCAL_FILE_HEADER_SIGNATURE
106 LOCAL_FILE_HEADER_FORMAT
107 LOCAL_FILE_HEADER_LENGTH
108 CENTRAL_DIRECTORY_FILE_HEADER_SIGNATURE
109 DATA_DESCRIPTOR_FORMAT
110 DATA_DESCRIPTOR_LENGTH
111 DATA_DESCRIPTOR_SIGNATURE
112 DATA_DESCRIPTOR_FORMAT_NO_SIG
113 DATA_DESCRIPTOR_LENGTH_NO_SIG
114 CENTRAL_DIRECTORY_FILE_HEADER_FORMAT
115 CENTRAL_DIRECTORY_FILE_HEADER_LENGTH
116 END_OF_CENTRAL_DIRECTORY_SIGNATURE
117 END_OF_CENTRAL_DIRECTORY_SIGNATURE_STRING
118 END_OF_CENTRAL_DIRECTORY_FORMAT
119 END_OF_CENTRAL_DIRECTORY_LENGTH
120 ) ],
121
122 # For Internal Use Only
123 UTILITY_METHODS => [ qw(
124 _error
125 _printError
126 _ioError
127 _formatError
128 _subclassResponsibility
129 _binmode
130 _isSeekable
131 _newFileHandle
132 _readSignature
133 _asZipDirName
134 ) ],
135 );
136
137 # Add all the constant names and error code names to @EXPORT_OK
138133µs Exporter::export_ok_tags( qw(
# spent 33µs making 1 call to Exporter::export_ok_tags
139 CONSTANTS
140 ERROR_CODES
141 PKZIP_CONSTANTS
142 UTILITY_METHODS
143 MISC_CONSTANTS
144 ) );
145
1461109µs1178µs}
# spent 178µs making 1 call to Archive::Zip::BEGIN@37
147
148# Error codes
149259µs2170µs
# spent 93µs (15+78) within Archive::Zip::BEGIN@149 which was called: # once (15µs+78µs) by installer::archivefiles::BEGIN@30 at line 149
use constant AZ_OK => 0;
# spent 93µs making 1 call to Archive::Zip::BEGIN@149 # spent 78µs making 1 call to constant::import
150257µs2120µs
# spent 66µs (12+54) within Archive::Zip::BEGIN@150 which was called: # once (12µs+54µs) by installer::archivefiles::BEGIN@30 at line 150
use constant AZ_STREAM_END => 1;
# spent 66µs making 1 call to Archive::Zip::BEGIN@150 # spent 54µs making 1 call to constant::import
151257µs2114µs
# spent 63µs (12+51) within Archive::Zip::BEGIN@151 which was called: # once (12µs+51µs) by installer::archivefiles::BEGIN@30 at line 151
use constant AZ_ERROR => 2;
# spent 63µs making 1 call to Archive::Zip::BEGIN@151 # spent 51µs making 1 call to constant::import
152255µs2112µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@152 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 152
use constant AZ_FORMAT_ERROR => 3;
# spent 62µs making 1 call to Archive::Zip::BEGIN@152 # spent 50µs making 1 call to constant::import
1532126µs2111µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@153 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 153
use constant AZ_IO_ERROR => 4;
# spent 62µs making 1 call to Archive::Zip::BEGIN@153 # spent 50µs making 1 call to constant::import
154
155# File types
156# Values of Archive::Zip::Member->fileAttributeFormat()
157
1582145µs2377µs
# spent 226µs (74+151) within Archive::Zip::BEGIN@158 which was called: # once (74µs+151µs) by installer::archivefiles::BEGIN@30 at line 158
use constant FA_MSDOS => 0;
# spent 226µs making 1 call to Archive::Zip::BEGIN@158 # spent 151µs making 1 call to constant::import
159261µs2128µs
# spent 73µs (19+54) within Archive::Zip::BEGIN@159 which was called: # once (19µs+54µs) by installer::archivefiles::BEGIN@30 at line 159
use constant FA_AMIGA => 1;
# spent 73µs making 1 call to Archive::Zip::BEGIN@159 # spent 54µs making 1 call to constant::import
160257µs2117µs
# spent 66µs (14+51) within Archive::Zip::BEGIN@160 which was called: # once (14µs+51µs) by installer::archivefiles::BEGIN@30 at line 160
use constant FA_VAX_VMS => 2;
# spent 66µs making 1 call to Archive::Zip::BEGIN@160 # spent 51µs making 1 call to constant::import
161256µs2119µs
# spent 66µs (12+53) within Archive::Zip::BEGIN@161 which was called: # once (12µs+53µs) by installer::archivefiles::BEGIN@30 at line 161
use constant FA_UNIX => 3;
# spent 66µs making 1 call to Archive::Zip::BEGIN@161 # spent 53µs making 1 call to constant::import
162256µs2118µs
# spent 65µs (12+53) within Archive::Zip::BEGIN@162 which was called: # once (12µs+53µs) by installer::archivefiles::BEGIN@30 at line 162
use constant FA_VM_CMS => 4;
# spent 65µs making 1 call to Archive::Zip::BEGIN@162 # spent 53µs making 1 call to constant::import
163258µs2120µs
# spent 68µs (16+52) within Archive::Zip::BEGIN@163 which was called: # once (16µs+52µs) by installer::archivefiles::BEGIN@30 at line 163
use constant FA_ATARI_ST => 5;
# spent 68µs making 1 call to Archive::Zip::BEGIN@163 # spent 52µs making 1 call to constant::import
164260µs2117µs
# spent 66µs (15+51) within Archive::Zip::BEGIN@164 which was called: # once (15µs+51µs) by installer::archivefiles::BEGIN@30 at line 164
use constant FA_OS2_HPFS => 6;
# spent 66µs making 1 call to Archive::Zip::BEGIN@164 # spent 51µs making 1 call to constant::import
165255µs2114µs
# spent 63µs (13+50) within Archive::Zip::BEGIN@165 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 165
use constant FA_MACINTOSH => 7;
# spent 63µs making 1 call to Archive::Zip::BEGIN@165 # spent 50µs making 1 call to constant::import
166256µs2115µs
# spent 63µs (11+52) within Archive::Zip::BEGIN@166 which was called: # once (11µs+52µs) by installer::archivefiles::BEGIN@30 at line 166
use constant FA_Z_SYSTEM => 8;
# spent 63µs making 1 call to Archive::Zip::BEGIN@166 # spent 52µs making 1 call to constant::import
167256µs2116µs
# spent 64µs (13+51) within Archive::Zip::BEGIN@167 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 167
use constant FA_CPM => 9;
# spent 64µs making 1 call to Archive::Zip::BEGIN@167 # spent 51µs making 1 call to constant::import
168257µs2114µs
# spent 63µs (13+50) within Archive::Zip::BEGIN@168 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 168
use constant FA_TOPS20 => 10;
# spent 63µs making 1 call to Archive::Zip::BEGIN@168 # spent 50µs making 1 call to constant::import
169255µs2115µs
# spent 64µs (13+51) within Archive::Zip::BEGIN@169 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 169
use constant FA_WINDOWS_NTFS => 11;
# spent 64µs making 1 call to Archive::Zip::BEGIN@169 # spent 51µs making 1 call to constant::import
170257µs2115µs
# spent 64µs (12+51) within Archive::Zip::BEGIN@170 which was called: # once (12µs+51µs) by installer::archivefiles::BEGIN@30 at line 170
use constant FA_QDOS => 12;
# spent 64µs making 1 call to Archive::Zip::BEGIN@170 # spent 51µs making 1 call to constant::import
171255µs2109µs
# spent 61µs (13+48) within Archive::Zip::BEGIN@171 which was called: # once (13µs+48µs) by installer::archivefiles::BEGIN@30 at line 171
use constant FA_ACORN => 13;
# spent 61µs making 1 call to Archive::Zip::BEGIN@171 # spent 48µs making 1 call to constant::import
172255µs2112µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@172 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 172
use constant FA_VFAT => 14;
# spent 62µs making 1 call to Archive::Zip::BEGIN@172 # spent 50µs making 1 call to constant::import
173254µs2110µs
# spent 60µs (11+49) within Archive::Zip::BEGIN@173 which was called: # once (11µs+49µs) by installer::archivefiles::BEGIN@30 at line 173
use constant FA_MVS => 15;
# spent 60µs making 1 call to Archive::Zip::BEGIN@173 # spent 50µs making 1 call to constant::import
174254µs2115µs
# spent 65µs (14+50) within Archive::Zip::BEGIN@174 which was called: # once (14µs+50µs) by installer::archivefiles::BEGIN@30 at line 174
use constant FA_BEOS => 16;
# spent 65µs making 1 call to Archive::Zip::BEGIN@174 # spent 50µs making 1 call to constant::import
175255µs2110µs
# spent 61µs (12+49) within Archive::Zip::BEGIN@175 which was called: # once (12µs+49µs) by installer::archivefiles::BEGIN@30 at line 175
use constant FA_TANDEM => 17;
# spent 61µs making 1 call to Archive::Zip::BEGIN@175 # spent 49µs making 1 call to constant::import
176268µs2112µs
# spent 63µs (13+50) within Archive::Zip::BEGIN@176 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 176
use constant FA_THEOS => 18;
# spent 63µs making 1 call to Archive::Zip::BEGIN@176 # spent 50µs making 1 call to constant::import
177
178# general-purpose bit flag masks
179# Found in Archive::Zip::Member->bitFlag()
180
181260µs2114µs
# spent 63µs (12+51) within Archive::Zip::BEGIN@181 which was called: # once (12µs+51µs) by installer::archivefiles::BEGIN@30 at line 181
use constant GPBF_ENCRYPTED_MASK => 1 << 0;
# spent 63µs making 1 call to Archive::Zip::BEGIN@181 # spent 51µs making 1 call to constant::import
182258µs2110µs
# spent 61µs (12+49) within Archive::Zip::BEGIN@182 which was called: # once (12µs+49µs) by installer::archivefiles::BEGIN@30 at line 182
use constant GPBF_DEFLATING_COMPRESSION_MASK => 3 << 1;
# spent 61µs making 1 call to Archive::Zip::BEGIN@182 # spent 49µs making 1 call to constant::import
183264µs2113µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@183 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 183
use constant GPBF_HAS_DATA_DESCRIPTOR_MASK => 1 << 3;
# spent 62µs making 1 call to Archive::Zip::BEGIN@183 # spent 50µs making 1 call to constant::import
184
185# deflating compression types, if compressionMethod == COMPRESSION_DEFLATED
186# ( Archive::Zip::Member->bitFlag() & GPBF_DEFLATING_COMPRESSION_MASK )
187
188259µs2115µs
# spent 64µs (13+51) within Archive::Zip::BEGIN@188 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 188
use constant DEFLATING_COMPRESSION_NORMAL => 0 << 1;
# spent 64µs making 1 call to Archive::Zip::BEGIN@188 # spent 51µs making 1 call to constant::import
189256µs2112µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@189 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 189
use constant DEFLATING_COMPRESSION_MAXIMUM => 1 << 1;
# spent 62µs making 1 call to Archive::Zip::BEGIN@189 # spent 50µs making 1 call to constant::import
190258µs2117µs
# spent 64µs (12+53) within Archive::Zip::BEGIN@190 which was called: # once (12µs+53µs) by installer::archivefiles::BEGIN@30 at line 190
use constant DEFLATING_COMPRESSION_FAST => 2 << 1;
# spent 64µs making 1 call to Archive::Zip::BEGIN@190 # spent 53µs making 1 call to constant::import
191260µs2109µs
# spent 61µs (12+49) within Archive::Zip::BEGIN@191 which was called: # once (12µs+49µs) by installer::archivefiles::BEGIN@30 at line 191
use constant DEFLATING_COMPRESSION_SUPER_FAST => 3 << 1;
# spent 61µs making 1 call to Archive::Zip::BEGIN@191 # spent 49µs making 1 call to constant::import
192
193# compression method
194
195# these two are the only ones supported in this module
196255µs2116µs
# spent 64µs (12+52) within Archive::Zip::BEGIN@196 which was called: # once (12µs+52µs) by installer::archivefiles::BEGIN@30 at line 196
use constant COMPRESSION_STORED => 0; # file is stored (no compression)
# spent 64µs making 1 call to Archive::Zip::BEGIN@196 # spent 52µs making 1 call to constant::import
197254µs2109µs
# spent 61µs (13+48) within Archive::Zip::BEGIN@197 which was called: # once (13µs+48µs) by installer::archivefiles::BEGIN@30 at line 197
use constant COMPRESSION_DEFLATED => 8; # file is Deflated
# spent 61µs making 1 call to Archive::Zip::BEGIN@197 # spent 48µs making 1 call to constant::import
198259µs2109µs
# spent 61µs (12+48) within Archive::Zip::BEGIN@198 which was called: # once (12µs+48µs) by installer::archivefiles::BEGIN@30 at line 198
use constant COMPRESSION_LEVEL_NONE => 0;
# spent 61µs making 1 call to Archive::Zip::BEGIN@198 # spent 48µs making 1 call to constant::import
199255µs2112µs
# spent 62µs (13+50) within Archive::Zip::BEGIN@199 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 199
use constant COMPRESSION_LEVEL_DEFAULT => -1;
# spent 62µs making 1 call to Archive::Zip::BEGIN@199 # spent 50µs making 1 call to constant::import
200254µs2107µs
# spent 59µs (11+48) within Archive::Zip::BEGIN@200 which was called: # once (11µs+48µs) by installer::archivefiles::BEGIN@30 at line 200
use constant COMPRESSION_LEVEL_FASTEST => 1;
# spent 59µs making 1 call to Archive::Zip::BEGIN@200 # spent 48µs making 1 call to constant::import
201265µs2108µs
# spent 60µs (12+48) within Archive::Zip::BEGIN@201 which was called: # once (12µs+48µs) by installer::archivefiles::BEGIN@30 at line 201
use constant COMPRESSION_LEVEL_BEST_COMPRESSION => 9;
# spent 60µs making 1 call to Archive::Zip::BEGIN@201 # spent 48µs making 1 call to constant::import
202
203# internal file attribute bits
204# Found in Archive::Zip::Member::internalFileAttributes()
205
206255µs2115µs
# spent 65µs (15+50) within Archive::Zip::BEGIN@206 which was called: # once (15µs+50µs) by installer::archivefiles::BEGIN@30 at line 206
use constant IFA_TEXT_FILE_MASK => 1;
# spent 65µs making 1 call to Archive::Zip::BEGIN@206 # spent 50µs making 1 call to constant::import
207254µs2116µs
# spent 64µs (12+52) within Archive::Zip::BEGIN@207 which was called: # once (12µs+52µs) by installer::archivefiles::BEGIN@30 at line 207
use constant IFA_TEXT_FILE => 1;
# spent 64µs making 1 call to Archive::Zip::BEGIN@207 # spent 52µs making 1 call to constant::import
2082179µs2115µs
# spent 64µs (12+51) within Archive::Zip::BEGIN@208 which was called: # once (12µs+51µs) by installer::archivefiles::BEGIN@30 at line 208
use constant IFA_BINARY_FILE => 0;
# spent 64µs making 1 call to Archive::Zip::BEGIN@208 # spent 51µs making 1 call to constant::import
209
210# PKZIP file format miscellaneous constants (for internal use only)
211255µs2118µs
# spent 65µs (12+53) within Archive::Zip::BEGIN@211 which was called: # once (12µs+53µs) by installer::archivefiles::BEGIN@30 at line 211
use constant SIGNATURE_FORMAT => "V";
# spent 65µs making 1 call to Archive::Zip::BEGIN@211 # spent 53µs making 1 call to constant::import
212257µs2113µs
# spent 63µs (13+50) within Archive::Zip::BEGIN@212 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 212
use constant SIGNATURE_LENGTH => 4;
# spent 63µs making 1 call to Archive::Zip::BEGIN@212 # spent 50µs making 1 call to constant::import
213
214# these lengths are without the signature.
215257µs2108µs
# spent 60µs (12+48) within Archive::Zip::BEGIN@215 which was called: # once (12µs+48µs) by installer::archivefiles::BEGIN@30 at line 215
use constant LOCAL_FILE_HEADER_SIGNATURE => 0x04034b50;
# spent 60µs making 1 call to Archive::Zip::BEGIN@215 # spent 48µs making 1 call to constant::import
216255µs2118µs
# spent 65µs (12+53) within Archive::Zip::BEGIN@216 which was called: # once (12µs+53µs) by installer::archivefiles::BEGIN@30 at line 216
use constant LOCAL_FILE_HEADER_FORMAT => "v3 V4 v2";
# spent 65µs making 1 call to Archive::Zip::BEGIN@216 # spent 53µs making 1 call to constant::import
217260µs2108µs
# spent 60µs (11+49) within Archive::Zip::BEGIN@217 which was called: # once (11µs+49µs) by installer::archivefiles::BEGIN@30 at line 217
use constant LOCAL_FILE_HEADER_LENGTH => 26;
# spent 60µs making 1 call to Archive::Zip::BEGIN@217 # spent 49µs making 1 call to constant::import
218
219# PKZIP docs don't mention the signature, but Info-Zip writes it.
220257µs2105µs
# spent 58µs (12+46) within Archive::Zip::BEGIN@220 which was called: # once (12µs+46µs) by installer::archivefiles::BEGIN@30 at line 220
use constant DATA_DESCRIPTOR_SIGNATURE => 0x08074b50;
# spent 58µs making 1 call to Archive::Zip::BEGIN@220 # spent 46µs making 1 call to constant::import
221254µs2116µs
# spent 65µs (14+51) within Archive::Zip::BEGIN@221 which was called: # once (14µs+51µs) by installer::archivefiles::BEGIN@30 at line 221
use constant DATA_DESCRIPTOR_FORMAT => "V3";
# spent 65µs making 1 call to Archive::Zip::BEGIN@221 # spent 51µs making 1 call to constant::import
222259µs2111µs
# spent 61µs (12+50) within Archive::Zip::BEGIN@222 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 222
use constant DATA_DESCRIPTOR_LENGTH => 12;
# spent 61µs making 1 call to Archive::Zip::BEGIN@222 # spent 50µs making 1 call to constant::import
223
224# but the signature is apparently optional.
225255µs2105µs
# spent 58µs (11+47) within Archive::Zip::BEGIN@225 which was called: # once (11µs+47µs) by installer::archivefiles::BEGIN@30 at line 225
use constant DATA_DESCRIPTOR_FORMAT_NO_SIG => "V2";
# spent 58µs making 1 call to Archive::Zip::BEGIN@225 # spent 47µs making 1 call to constant::import
226257µs2111µs
# spent 61µs (12+49) within Archive::Zip::BEGIN@226 which was called: # once (12µs+49µs) by installer::archivefiles::BEGIN@30 at line 226
use constant DATA_DESCRIPTOR_LENGTH_NO_SIG => 8;
# spent 61µs making 1 call to Archive::Zip::BEGIN@226 # spent 50µs making 1 call to constant::import
227
228258µs2111µs
# spent 61µs (11+50) within Archive::Zip::BEGIN@228 which was called: # once (11µs+50µs) by installer::archivefiles::BEGIN@30 at line 228
use constant CENTRAL_DIRECTORY_FILE_HEADER_SIGNATURE => 0x02014b50;
# spent 61µs making 1 call to Archive::Zip::BEGIN@228 # spent 50µs making 1 call to constant::import
229256µs2113µs
# spent 63µs (12+50) within Archive::Zip::BEGIN@229 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 229
use constant CENTRAL_DIRECTORY_FILE_HEADER_FORMAT => "C2 v3 V4 v5 V2";
# spent 63µs making 1 call to Archive::Zip::BEGIN@229 # spent 50µs making 1 call to constant::import
230271µs2114µs
# spent 64µs (15+50) within Archive::Zip::BEGIN@230 which was called: # once (15µs+50µs) by installer::archivefiles::BEGIN@30 at line 230
use constant CENTRAL_DIRECTORY_FILE_HEADER_LENGTH => 42;
# spent 64µs making 1 call to Archive::Zip::BEGIN@230 # spent 50µs making 1 call to constant::import
231
232285µs2114µs
# spent 64µs (13+51) within Archive::Zip::BEGIN@232 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 232
use constant END_OF_CENTRAL_DIRECTORY_SIGNATURE => 0x06054b50;
# spent 64µs making 1 call to Archive::Zip::BEGIN@232 # spent 51µs making 1 call to constant::import
233275µs
# spent 96µs (21+75) within Archive::Zip::BEGIN@233 which was called: # once (21µs+75µs) by installer::archivefiles::BEGIN@30 at line 234
use constant END_OF_CENTRAL_DIRECTORY_SIGNATURE_STRING =>
# spent 54µs making 1 call to constant::import # spent 21µs making 1 call to Archive::Zip::CORE:pack
234293µs196µs pack( "V", END_OF_CENTRAL_DIRECTORY_SIGNATURE );
# spent 96µs making 1 call to Archive::Zip::BEGIN@233
235254µs2114µs
# spent 63µs (13+51) within Archive::Zip::BEGIN@235 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 235
use constant END_OF_CENTRAL_DIRECTORY_FORMAT => "v4 V2 v";
# spent 63µs making 1 call to Archive::Zip::BEGIN@235 # spent 50µs making 1 call to constant::import
236261µs2122µs
# spent 67µs (12+55) within Archive::Zip::BEGIN@236 which was called: # once (12µs+55µs) by installer::archivefiles::BEGIN@30 at line 236
use constant END_OF_CENTRAL_DIRECTORY_LENGTH => 18;
# spent 67µs making 1 call to Archive::Zip::BEGIN@236 # spent 55µs making 1 call to constant::import
237
238263µs2112µs
# spent 62µs (11+50) within Archive::Zip::BEGIN@238 which was called: # once (11µs+50µs) by installer::archivefiles::BEGIN@30 at line 238
use constant GPBF_IMPLODING_8K_SLIDING_DICTIONARY_MASK => 1 << 1;
# spent 62µs making 1 call to Archive::Zip::BEGIN@238 # spent 50µs making 1 call to constant::import
239262µs2107µs
# spent 60µs (13+47) within Archive::Zip::BEGIN@239 which was called: # once (13µs+47µs) by installer::archivefiles::BEGIN@30 at line 239
use constant GPBF_IMPLODING_3_SHANNON_FANO_TREES_MASK => 1 << 2;
# spent 60µs making 1 call to Archive::Zip::BEGIN@239 # spent 47µs making 1 call to constant::import
240258µs2118µs
# spent 67µs (16+51) within Archive::Zip::BEGIN@240 which was called: # once (16µs+51µs) by installer::archivefiles::BEGIN@30 at line 240
use constant GPBF_IS_COMPRESSED_PATCHED_DATA_MASK => 1 << 5;
# spent 67µs making 1 call to Archive::Zip::BEGIN@240 # spent 51µs making 1 call to constant::import
241
242# the rest of these are not supported in this module
243256µs2111µs
# spent 62µs (13+49) within Archive::Zip::BEGIN@243 which was called: # once (13µs+49µs) by installer::archivefiles::BEGIN@30 at line 243
use constant COMPRESSION_SHRUNK => 1; # file is Shrunk
# spent 62µs making 1 call to Archive::Zip::BEGIN@243 # spent 49µs making 1 call to constant::import
244255µs2115µs
# spent 63µs (11+52) within Archive::Zip::BEGIN@244 which was called: # once (11µs+52µs) by installer::archivefiles::BEGIN@30 at line 244
use constant COMPRESSION_REDUCED_1 => 2; # file is Reduced CF=1
# spent 63µs making 1 call to Archive::Zip::BEGIN@244 # spent 52µs making 1 call to constant::import
245257µs2112µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@245 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 245
use constant COMPRESSION_REDUCED_2 => 3; # file is Reduced CF=2
# spent 62µs making 1 call to Archive::Zip::BEGIN@245 # spent 50µs making 1 call to constant::import
246254µs2113µs
# spent 62µs (12+51) within Archive::Zip::BEGIN@246 which was called: # once (12µs+51µs) by installer::archivefiles::BEGIN@30 at line 246
use constant COMPRESSION_REDUCED_3 => 4; # file is Reduced CF=3
# spent 62µs making 1 call to Archive::Zip::BEGIN@246 # spent 50µs making 1 call to constant::import
247255µs2111µs
# spent 62µs (12+49) within Archive::Zip::BEGIN@247 which was called: # once (12µs+49µs) by installer::archivefiles::BEGIN@30 at line 247
use constant COMPRESSION_REDUCED_4 => 5; # file is Reduced CF=4
# spent 62µs making 1 call to Archive::Zip::BEGIN@247 # spent 49µs making 1 call to constant::import
2482107µs2111µs
# spent 62µs (13+49) within Archive::Zip::BEGIN@248 which was called: # once (13µs+49µs) by installer::archivefiles::BEGIN@30 at line 248
use constant COMPRESSION_IMPLODED => 6; # file is Imploded
# spent 62µs making 1 call to Archive::Zip::BEGIN@248 # spent 49µs making 1 call to constant::import
249255µs2114µs
# spent 63µs (13+51) within Archive::Zip::BEGIN@249 which was called: # once (13µs+51µs) by installer::archivefiles::BEGIN@30 at line 249
use constant COMPRESSION_TOKENIZED => 7; # reserved for Tokenizing compr.
# spent 63µs making 1 call to Archive::Zip::BEGIN@249 # spent 50µs making 1 call to constant::import
250260µs2113µs
# spent 63µs (13+50) within Archive::Zip::BEGIN@250 which was called: # once (13µs+50µs) by installer::archivefiles::BEGIN@30 at line 250
use constant COMPRESSION_DEFLATED_ENHANCED => 9; # reserved for enh. Deflating
# spent 63µs making 1 call to Archive::Zip::BEGIN@250 # spent 50µs making 1 call to constant::import
2512131µs2113µs
# spent 62µs (12+50) within Archive::Zip::BEGIN@251 which was called: # once (12µs+50µs) by installer::archivefiles::BEGIN@30 at line 251
use constant COMPRESSION_PKWARE_DATA_COMPRESSION_LIBRARY_IMPLODED => 10;
# spent 62µs making 1 call to Archive::Zip::BEGIN@251 # spent 50µs making 1 call to constant::import
252
253# Load the various required classes
25411.42msrequire Archive::Zip::Archive;
25511.82msrequire Archive::Zip::Member;
25611.83msrequire Archive::Zip::FileMember;
25711.98msrequire Archive::Zip::DirectoryMember;
25812.07msrequire Archive::Zip::ZipFileMember;
25911.83msrequire Archive::Zip::NewFileMember;
26011.44msrequire Archive::Zip::StringMember;
261
262257µs2111µs
# spent 62µs (13+49) within Archive::Zip::BEGIN@262 which was called: # once (13µs+49µs) by installer::archivefiles::BEGIN@30 at line 262
use constant ZIPARCHIVECLASS => 'Archive::Zip::Archive';
# spent 62µs making 1 call to Archive::Zip::BEGIN@262 # spent 49µs making 1 call to constant::import
26322.68ms2108µs
# spent 60µs (12+48) within Archive::Zip::BEGIN@263 which was called: # once (12µs+48µs) by installer::archivefiles::BEGIN@30 at line 263
use constant ZIPMEMBERCLASS => 'Archive::Zip::Member';
# spent 60µs making 1 call to Archive::Zip::BEGIN@263 # spent 48µs making 1 call to constant::import
264
265# Convenience functions
266
267
# spent 66.4ms (53.8+12.6) within Archive::Zip::_ISA which was called 6364 times, avg 10µs/call: # 3182 times (25.8ms+5.62ms) by Archive::Zip::_isSeekable at line 389, avg 10µs/call # 1591 times (15.0ms+4.17ms) by Archive::Zip::_isSeekable at line 382, avg 12µs/call # 1591 times (13.0ms+2.81ms) by Archive::Zip::_isSeekable at line 386, avg 10µs/call
sub _ISA ($$) {
268 # Can't rely on Scalar::Util, so use the next best way
2691909274.4ms local $@;
270636412.6ms !! eval { ref $_[0] and $_[0]->isa($_[1]) };
# spent 12.6ms making 6364 calls to UNIVERSAL::isa, avg 2µs/call
271}
272
273
# spent 230ms (189+41.6) within Archive::Zip::_CAN which was called 18793 times, avg 12µs/call: # 18793 times (189ms+41.6ms) by Archive::Zip::_binmode at line 373, avg 12µs/call
sub _CAN ($$) {
27456379253ms local $@;
2751879341.6ms !! eval { ref $_[0] and $_[0]->can($_[1]) };
# spent 41.6ms making 18793 calls to UNIVERSAL::can, avg 2µs/call
276}
277
- -
282#####################################################################
283# Methods
284
285
# spent 9.52ms (3.79+5.73) within Archive::Zip::new which was called 210 times, avg 45µs/call: # 210 times (3.79ms+5.73ms) by installer::archivefiles::resolving_archive_flag at line 252 of /cygdrive/c/lo/libo-master/instsetoo_native/util/C:/lo/libo-master/solenv/bin/modules/installer/archivefiles.pm, avg 45µs/call
sub new {
2864203.91ms my $class = shift;
2874205.73ms return $class->ZIPARCHIVECLASS->new(@_);
# spent 5.35ms making 210 calls to Archive::Zip::Archive::new, avg 25µs/call # spent 378µs making 210 calls to Archive::Zip::ZIPARCHIVECLASS, avg 2µs/call
288}
289
290
# spent 2.67ms (1.66+1.01) within Archive::Zip::computeCRC32 which was called 137 times, avg 19µs/call: # 137 times (1.66ms+1.01ms) by Archive::Zip::Member::readChunk at line 794 of Archive/Zip/Member.pm, avg 19µs/call
sub computeCRC32 {
2918222.86ms my ( $data, $crc );
292
293 if ( ref( $_[0] ) eq 'HASH' ) {
294 $data = $_[0]->{string};
295 $crc = $_[0]->{checksum};
296 }
297 else {
298 $data = shift;
299 $data = shift if ref($data);
300 $crc = shift;
301 }
302
3031371.01ms return Compress::Raw::Zlib::crc32( $data, $crc );
# spent 1.01ms making 137 calls to Compress::Raw::Zlib::crc32, avg 7µs/call
304}
305
306# Report or change chunk size used for reading and writing.
307# Also sets Zlib's default buffer size (eventually).
308sub setChunkSize {
309 shift if ref( $_[0] ) eq 'Archive::Zip::Archive';
310 my $chunkSize = ( ref( $_[0] ) eq 'HASH' ) ? shift->{chunkSize} : shift;
311 my $oldChunkSize = $Archive::Zip::ChunkSize;
312 $Archive::Zip::ChunkSize = $chunkSize if ($chunkSize);
313 return $oldChunkSize;
314}
315
316sub chunkSize {
317 return $Archive::Zip::ChunkSize;
318}
319
320sub setErrorHandler {
321 my $errorHandler = ( ref( $_[0] ) eq 'HASH' ) ? shift->{subroutine} : shift;
322 $errorHandler = \&Carp::carp unless defined($errorHandler);
323 my $oldErrorHandler = $Archive::Zip::ErrorHandler;
324 $Archive::Zip::ErrorHandler = $errorHandler;
325 return $oldErrorHandler;
326}
327
- -
332######################################################################
333# Private utility functions (not methods).
334
335sub _printError {
336 my $string = join ( ' ', @_, "\n" );
337 my $oldCarpLevel = $Carp::CarpLevel;
338 $Carp::CarpLevel += 2;
339 &{$ErrorHandler} ($string);
340 $Carp::CarpLevel = $oldCarpLevel;
341}
342
343# This is called on format errors.
344sub _formatError {
345 shift if ref( $_[0] );
346 _printError( 'format error:', @_ );
347 return AZ_FORMAT_ERROR;
348}
349
350# This is called on IO errors.
351sub _ioError {
352 shift if ref( $_[0] );
353 _printError( 'IO error:', @_, ':', $! );
354 return AZ_IO_ERROR;
355}
356
357# This is called on generic errors.
358sub _error {
359 shift if ref( $_[0] );
360 _printError( 'error:', @_ );
361 return AZ_ERROR;
362}
363
364# Called when a subclass should have implemented
365# something but didn't
366sub _subclassResponsibility {
367 Carp::croak("subclass Responsibility\n");
368}
369
370# Try to set the given file handle or object into binary mode.
371
# spent 584ms (185+399) within Archive::Zip::_binmode which was called 18793 times, avg 31µs/call: # 9982 times (99.4ms+207ms) by Archive::Zip::FileMember::_openFile at line 44 of Archive/Zip/FileMember.pm, avg 31µs/call # 8601 times (82.9ms+187ms) by Archive::Zip::Member::extractToFileHandle at line 988 of Archive/Zip/Member.pm, avg 31µs/call # 210 times (2.24ms+5.10ms) by Archive::Zip::Archive::readFromFileHandle at line 572 of Archive/Zip/Archive.pm, avg 35µs/call
sub _binmode {
37237586155ms my $fh = shift;
37337586399ms return _CAN( $fh, 'binmode' ) ? $fh->binmode() : binmode($fh);
# spent 230ms making 18793 calls to Archive::Zip::_CAN, avg 12µs/call # spent 169ms making 18793 calls to IO::File::binmode, avg 9µs/call
374}
375
376# Attempt to guess whether file handle is seekable.
377# Because of problems with Windows, this only returns true when
378# the file handle is a real file.
379
# spent 97.2ms (30.7+66.4) within Archive::Zip::_isSeekable which was called 1591 times, avg 61µs/call: # 1381 times (26.2ms+56.9ms) by Archive::Zip::ZipFileMember::_become at line 104 of Archive/Zip/ZipFileMember.pm, avg 60µs/call # 210 times (4.52ms+9.56ms) by Archive::Zip::Archive::readFromFileHandle at line 576 of Archive/Zip/Archive.pm, avg 67µs/call
sub _isSeekable {
380954624.7ms my $fh = shift;
381 return 0 unless ref $fh;
382159119.2ms if ( _ISA($fh, 'IO::Scalar') ) {
# spent 19.2ms making 1591 calls to Archive::Zip::_ISA, avg 12µs/call
383 # IO::Scalar objects are brokenly-seekable
384 return 0;
385 }
386159115.8ms if ( _ISA($fh, 'IO::String') ) {
# spent 15.8ms making 1591 calls to Archive::Zip::_ISA, avg 10µs/call
387 return 1;
388 }
389318231.4ms if ( _ISA($fh, 'IO::Seekable') ) {
# spent 31.4ms making 3182 calls to Archive::Zip::_ISA, avg 10µs/call
390 # Unfortunately, some things like FileHandle objects
391 # return true for Seekable, but AREN'T!!!!!
392 if ( _ISA($fh, 'FileHandle') ) {
393 return 0;
394 } else {
395 return 1;
396 }
397 }
398 if ( _CAN($fh, 'stat') ) {
399 return -f $fh;
400 }
401 return (
402 _CAN($fh, 'seek') and _CAN($fh, 'tell')
403 ) ? 1 : 0;
404}
405
406# Print to the filehandle, while making sure the pesky Perl special global
407# variables don't interfere.
408sub _print
409
# spent 1.22s (253ms+971ms) within Archive::Zip::_print which was called 10349 times, avg 118µs/call: # 10349 times (253ms+971ms) by Archive::Zip::Member::_writeData at line 1067 of Archive/Zip/Member.pm, avg 118µs/call
{
41031047254ms my ($self, $fh, @data) = @_;
411
412 local $\;
413
41410349971ms return $fh->print(@data);
# spent 971ms making 10349 calls to IO::Handle::print, avg 94µs/call
415}
416
417# Return an opened IO::Handle
418# my ( $status, fh ) = _newFileHandle( 'fileName', 'w' );
419# Can take a filename, file handle, or ref to GLOB
420# Or, if given something that is a ref but not an IO::Handle,
421# passes back the same thing.
422
# spent 11.8s (312ms+11.4) within Archive::Zip::_newFileHandle which was called 18793 times, avg 626µs/call: # 9982 times (156ms+3.06s) by Archive::Zip::FileMember::_openFile at line 38 of Archive/Zip/FileMember.pm, avg 322µs/call # 8601 times (152ms+8.32s) by Archive::Zip::Member::extractToFileNamed at line 486 of Archive/Zip/Member.pm, avg 985µs/call # 210 times (3.74ms+70.7ms) by Archive::Zip::Archive::read at line 545 of Archive/Zip/Archive.pm, avg 355µs/call
sub _newFileHandle {
423131551288ms my $fd = shift;
424 my $status = 1;
425 my $handle;
426
427 if ( ref($fd) ) {
428 if ( _ISA($fd, 'IO::Scalar') or _ISA($fd, 'IO::String') ) {
429 $handle = $fd;
430 } elsif ( _ISA($fd, 'IO::Handle') or ref($fd) eq 'GLOB' ) {
431 $handle = IO::File->new;
432 $status = $handle->fdopen( $fd, @_ );
433 } else {
434 $handle = $fd;
435 }
436 } else {
43718793572ms $handle = IO::File->new;
# spent 572ms making 18793 calls to IO::File::new, avg 30µs/call
4381879310.9s $status = $handle->open( $fd, @_ );
# spent 10.9s making 18793 calls to IO::File::open, avg 579µs/call
439 }
440
441 return ( $status, $handle );
442}
443
444# Returns next signature from given file handle, leaves
445# file handle positioned afterwards.
446# In list context, returns ($status, $signature)
447# ( $status, $signature) = _readSignature( $fh, $fileName );
448
449
# spent 624ms (276+348) within Archive::Zip::_readSignature which was called 20174 times, avg 31µs/call: # 10192 times (131ms+78.4ms) by Archive::Zip::Archive::readFromFileHandle at line 603 of Archive/Zip/Archive.pm, avg 21µs/call # 9982 times (144ms+270ms) by Archive::Zip::ZipFileMember::_seekToLocalHeader at line 71 of Archive/Zip/ZipFileMember.pm, avg 41µs/call
sub _readSignature {
450201740298ms my $fh = shift;
451 my $fileName = shift;
452 my $expectedSignature = shift; # optional
453
454 my $signatureData;
45520174321ms my $bytesRead = $fh->read( $signatureData, SIGNATURE_LENGTH );
# spent 321ms making 20174 calls to IO::Handle::read, avg 16µs/call
456 if ( $bytesRead != SIGNATURE_LENGTH ) {
457 return _ioError("reading header signature");
458 }
4592017427.3ms my $signature = unpack( SIGNATURE_FORMAT, $signatureData );
# spent 27.3ms making 20174 calls to Archive::Zip::CORE:unpack, avg 1µs/call
460 my $status = AZ_OK;
461
462 # compare with expected signature, if any, or any known signature.
463 if ( ( defined($expectedSignature) && $signature != $expectedSignature )
464 || ( !defined($expectedSignature)
465 && $signature != CENTRAL_DIRECTORY_FILE_HEADER_SIGNATURE
466 && $signature != LOCAL_FILE_HEADER_SIGNATURE
467 && $signature != END_OF_CENTRAL_DIRECTORY_SIGNATURE
468 && $signature != DATA_DESCRIPTOR_SIGNATURE ) )
469 {
470 my $errmsg = sprintf( "bad signature: 0x%08x", $signature );
471 if ( _isSeekable($fh) )
472 {
473 $errmsg .=
474 sprintf( " at offset %d", $fh->tell() - SIGNATURE_LENGTH );
475 }
476
477 $status = _formatError("$errmsg in file $fileName");
478 }
479
480 return ( $status, $signature );
481}
482
483# Utility method to make and open a temp file.
484# Will create $temp_dir if it doesn't exist.
485# Returns file handle and name:
486#
487# my ($fh, $name) = Archive::Zip::tempFile();
488# my ($fh, $name) = Archive::Zip::tempFile('mytempdir');
489#
490
491sub tempFile {
492 my $dir = ( ref( $_[0] ) eq 'HASH' ) ? shift->{tempDir} : shift;
493 my ( $fh, $filename ) = File::Temp::tempfile(
494 SUFFIX => '.zip',
495 UNLINK => 0, # we will delete it!
496 $dir ? ( DIR => $dir ) : ()
497 );
498 return ( undef, undef ) unless $fh;
499 my ( $status, $newfh ) = _newFileHandle( $fh, 'w+' );
500 return ( $newfh, $filename );
501}
502
503# Return the normalized directory name as used in a zip file (path
504# separators become slashes, etc.).
505# Will translate internal slashes in path components (i.e. on Macs) to
506# underscores. Discards volume names.
507# When $forceDir is set, returns paths with trailing slashes (or arrays
508# with trailing blank members).
509#
510# If third argument is a reference, returns volume information there.
511#
512# input output
513# . ('.') '.'
514# ./a ('a') a
515# ./a/b ('a','b') a/b
516# ./a/b/ ('a','b') a/b
517# a/b/ ('a','b') a/b
518# /a/b/ ('','a','b') /a/b
519# c:\a\b\c.doc ('','a','b','c.doc') /a/b/c.doc # on Windoze
520# "i/o maps:whatever" ('i_o maps', 'whatever') "i_o maps/whatever" # on Macs
521sub _asZipDirName
522{
523 my $name = shift;
524 my $forceDir = shift;
525 my $volReturn = shift;
526 my ( $volume, $directories, $file ) =
527 File::Spec->splitpath( File::Spec->canonpath($name), $forceDir );
528 $$volReturn = $volume if ( ref($volReturn) );
529 my @dirs = map { $_ =~ s{/}{_}g; $_ } File::Spec->splitdir($directories);
530 if ( @dirs > 0 ) { pop (@dirs) unless $dirs[-1] } # remove empty component
531 push ( @dirs, defined($file) ? $file : '' );
532 #return wantarray ? @dirs : join ( '/', @dirs );
533 return join ( '/', @dirs );
534}
535
536# Return an absolute local name for a zip name.
537# Assume a directory if zip name has trailing slash.
538# Takes an optional volume name in FS format (like 'a:').
539#
540sub _asLocalName
541
# spent 1.99s (455ms+1.54) within Archive::Zip::_asLocalName which was called 9982 times, avg 200µs/call: # 9982 times (455ms+1.54s) by Archive::Zip::Archive::extractTree at line 821 of Archive/Zip/Archive.pm, avg 200µs/call
{
54299820419ms my $name = shift; # zip format
543 my $volume = shift;
544 $volume = '' unless defined($volume); # local FS format
545
546 my @paths = split ( /\//, $name );
547 my $filename = pop (@paths);
548 $filename = '' unless defined($filename);
5499982718ms my $localDirs = @paths ? File::Spec->catdir(@paths) : '';
# spent 718ms making 9982 calls to File::Spec::Cygwin::catdir, avg 72µs/call
550998269.3ms my $localName = File::Spec->catpath( $volume, $localDirs, $filename );
# spent 69.3ms making 9982 calls to File::Spec::Unix::catpath, avg 7µs/call
55119964751ms unless ( $volume ) {
# spent 658ms making 9982 calls to File::Spec::Unix::rel2abs, avg 66µs/call # spent 92.9ms making 9982 calls to Cwd::__ANON__[Cwd.pm:406], avg 9µs/call
552 $localName = File::Spec->rel2abs( $localName, Cwd::getcwd() );
553 }
554 return $localName;
555}
556
557125µs1;
558
559__END__
 
# spent 21µs within Archive::Zip::CORE:pack which was called: # once (21µs+0s) by Archive::Zip::BEGIN@233 at line 233
sub Archive::Zip::CORE:pack; # opcode
# spent 27.3ms within Archive::Zip::CORE:unpack which was called 20174 times, avg 1µs/call: # 20174 times (27.3ms+0s) by Archive::Zip::_readSignature at line 459, avg 1µs/call
sub Archive::Zip::CORE:unpack; # opcode
# spent 378µs within Archive::Zip::ZIPARCHIVECLASS which was called 210 times, avg 2µs/call: # 210 times (378µs+0s) by Archive::Zip::new at line 287, avg 2µs/call
sub Archive::Zip::ZIPARCHIVECLASS; # xsub
# spent 15.0ms within Archive::Zip::ZIPMEMBERCLASS which was called 10192 times, avg 1µs/call: # 10192 times (15.0ms+0s) by Archive::Zip::Archive::readFromFileHandle at line 599 of Archive/Zip/Archive.pm, avg 1µs/call
sub Archive::Zip::ZIPMEMBERCLASS; # xsub