| Filename | /usr/lib/perl5/site_perl/5.14/Archive/Zip.pm |
| Statements | Executed 588188 statements in 1.81s |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 9982 | 1 | 1 | 455ms | 1.99s | Archive::Zip::_asLocalName |
| 18793 | 3 | 3 | 312ms | 11.8s | Archive::Zip::_newFileHandle |
| 20174 | 2 | 2 | 276ms | 624ms | Archive::Zip::_readSignature |
| 10349 | 1 | 1 | 253ms | 1.22s | Archive::Zip::_print |
| 18793 | 1 | 1 | 189ms | 230ms | Archive::Zip::_CAN |
| 18793 | 3 | 3 | 185ms | 584ms | Archive::Zip::_binmode |
| 6364 | 3 | 1 | 53.8ms | 66.4ms | Archive::Zip::_ISA |
| 1591 | 2 | 2 | 30.7ms | 97.2ms | Archive::Zip::_isSeekable |
| 20174 | 1 | 1 | 27.3ms | 27.3ms | Archive::Zip::CORE:unpack (opcode) |
| 1 | 1 | 1 | 18.4ms | 46.7ms | Archive::Zip::BEGIN@14 |
| 10192 | 1 | 1 | 15.0ms | 15.0ms | Archive::Zip::ZIPMEMBERCLASS (xsub) |
| 1 | 1 | 1 | 9.23ms | 22.6ms | Archive::Zip::BEGIN@12 |
| 1 | 1 | 1 | 4.32ms | 34.2ms | Archive::Zip::BEGIN@10 |
| 1 | 1 | 1 | 3.85ms | 4.53ms | Archive::Zip::BEGIN@15 |
| 210 | 1 | 1 | 3.79ms | 9.52ms | Archive::Zip::new |
| 1 | 1 | 1 | 2.99ms | 2.99ms | Archive::Zip::BEGIN@7 |
| 137 | 1 | 1 | 1.66ms | 2.67ms | Archive::Zip::computeCRC32 |
| 210 | 1 | 1 | 378µs | 378µs | Archive::Zip::ZIPARCHIVECLASS (xsub) |
| 1 | 1 | 1 | 206µs | 215µs | Archive::Zip::BEGIN@3 |
| 1 | 1 | 1 | 74µs | 226µs | Archive::Zip::BEGIN@158 |
| 1 | 1 | 1 | 73µs | 73µs | Archive::Zip::BEGIN@4 |
| 1 | 1 | 1 | 63µs | 178µs | Archive::Zip::BEGIN@37 |
| 1 | 1 | 1 | 21µs | 96µs | Archive::Zip::BEGIN@233 |
| 1 | 1 | 1 | 21µs | 21µs | Archive::Zip::CORE:pack (opcode) |
| 1 | 1 | 1 | 19µs | 73µs | Archive::Zip::BEGIN@159 |
| 1 | 1 | 1 | 16µs | 16µs | Archive::Zip::BEGIN@18 |
| 1 | 1 | 1 | 16µs | 67µs | Archive::Zip::BEGIN@240 |
| 1 | 1 | 1 | 16µs | 68µs | Archive::Zip::BEGIN@163 |
| 1 | 1 | 1 | 15µs | 65µs | Archive::Zip::BEGIN@206 |
| 1 | 1 | 1 | 15µs | 66µs | Archive::Zip::BEGIN@164 |
| 1 | 1 | 1 | 15µs | 93µs | Archive::Zip::BEGIN@149 |
| 1 | 1 | 1 | 15µs | 89µs | Archive::Zip::BEGIN@17 |
| 1 | 1 | 1 | 15µs | 64µs | Archive::Zip::BEGIN@230 |
| 1 | 1 | 1 | 14µs | 65µs | Archive::Zip::BEGIN@174 |
| 1 | 1 | 1 | 14µs | 66µs | Archive::Zip::BEGIN@160 |
| 1 | 1 | 1 | 14µs | 65µs | Archive::Zip::BEGIN@221 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@250 |
| 1 | 1 | 1 | 13µs | 62µs | Archive::Zip::BEGIN@248 |
| 1 | 1 | 1 | 13µs | 62µs | Archive::Zip::BEGIN@262 |
| 1 | 1 | 1 | 13µs | 61µs | Archive::Zip::BEGIN@171 |
| 1 | 1 | 1 | 13µs | 64µs | Archive::Zip::BEGIN@167 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@168 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@235 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@249 |
| 1 | 1 | 1 | 13µs | 64µs | Archive::Zip::BEGIN@232 |
| 1 | 1 | 1 | 13µs | 60µs | Archive::Zip::BEGIN@239 |
| 1 | 1 | 1 | 13µs | 64µs | Archive::Zip::BEGIN@169 |
| 1 | 1 | 1 | 13µs | 62µs | Archive::Zip::BEGIN@199 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@176 |
| 1 | 1 | 1 | 13µs | 61µs | Archive::Zip::BEGIN@197 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@212 |
| 1 | 1 | 1 | 13µs | 63µs | Archive::Zip::BEGIN@165 |
| 1 | 1 | 1 | 13µs | 62µs | Archive::Zip::BEGIN@243 |
| 1 | 1 | 1 | 13µs | 64µs | Archive::Zip::BEGIN@188 |
| 1 | 1 | 1 | 12µs | 65µs | Archive::Zip::BEGIN@216 |
| 1 | 1 | 1 | 12µs | 64µs | Archive::Zip::BEGIN@170 |
| 1 | 1 | 1 | 12µs | 60µs | Archive::Zip::BEGIN@215 |
| 1 | 1 | 1 | 12µs | 66µs | Archive::Zip::BEGIN@150 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@198 |
| 1 | 1 | 1 | 12µs | 63µs | Archive::Zip::BEGIN@229 |
| 1 | 1 | 1 | 12µs | 67µs | Archive::Zip::BEGIN@36 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@182 |
| 1 | 1 | 1 | 12µs | 64µs | Archive::Zip::BEGIN@208 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@247 |
| 1 | 1 | 1 | 12µs | 66µs | Archive::Zip::BEGIN@161 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@245 |
| 1 | 1 | 1 | 12µs | 66µs | Archive::Zip::BEGIN@25 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@152 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@172 |
| 1 | 1 | 1 | 12µs | 64µs | Archive::Zip::BEGIN@196 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@251 |
| 1 | 1 | 1 | 12µs | 65µs | Archive::Zip::BEGIN@162 |
| 1 | 1 | 1 | 12µs | 63µs | Archive::Zip::BEGIN@151 |
| 1 | 1 | 1 | 12µs | 65µs | Archive::Zip::BEGIN@211 |
| 1 | 1 | 1 | 12µs | 64µs | Archive::Zip::BEGIN@207 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@226 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@153 |
| 1 | 1 | 1 | 12µs | 12µs | Archive::Zip::BEGIN@8 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@189 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@183 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@191 |
| 1 | 1 | 1 | 12µs | 67µs | Archive::Zip::BEGIN@236 |
| 1 | 1 | 1 | 12µs | 58µs | Archive::Zip::BEGIN@220 |
| 1 | 1 | 1 | 12µs | 64µs | Archive::Zip::BEGIN@190 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@175 |
| 1 | 1 | 1 | 12µs | 61µs | Archive::Zip::BEGIN@222 |
| 1 | 1 | 1 | 12µs | 60µs | Archive::Zip::BEGIN@201 |
| 1 | 1 | 1 | 12µs | 60µs | Archive::Zip::BEGIN@263 |
| 1 | 1 | 1 | 12µs | 62µs | Archive::Zip::BEGIN@246 |
| 1 | 1 | 1 | 12µs | 63µs | Archive::Zip::BEGIN@181 |
| 1 | 1 | 1 | 11µs | 59µs | Archive::Zip::BEGIN@200 |
| 1 | 1 | 1 | 11µs | 63µs | Archive::Zip::BEGIN@166 |
| 1 | 1 | 1 | 11µs | 11µs | Archive::Zip::BEGIN@13 |
| 1 | 1 | 1 | 11µs | 58µs | Archive::Zip::BEGIN@225 |
| 1 | 1 | 1 | 11µs | 61µs | Archive::Zip::BEGIN@228 |
| 1 | 1 | 1 | 11µs | 62µs | Archive::Zip::BEGIN@238 |
| 1 | 1 | 1 | 11µs | 63µs | Archive::Zip::BEGIN@244 |
| 1 | 1 | 1 | 11µs | 60µs | Archive::Zip::BEGIN@217 |
| 1 | 1 | 1 | 11µs | 60µs | Archive::Zip::BEGIN@173 |
| 1 | 1 | 1 | 9µs | 9µs | Archive::Zip::BEGIN@11 |
| 1 | 1 | 1 | 8µs | 8µs | Archive::Zip::BEGIN@9 |
| 1 | 1 | 1 | 7µs | 7µs | Archive::Zip::BEGIN@26 |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_asZipDirName |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_error |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_formatError |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_ioError |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_printError |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::_subclassResponsibility |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::chunkSize |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::setChunkSize |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::setErrorHandler |
| 0 | 0 | 0 | 0s | 0s | Archive::Zip::tempFile |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Archive::Zip; | ||||
| 2 | |||||
| 3 | 2 | 71µs | 2 | 224µ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 # 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 | ||||
| 5 | 1 | 72µs | require 5.003_96; | ||
| 6 | 1 | 43µs | 1 | 73µs | } # spent 73µs making 1 call to Archive::Zip::BEGIN@4 |
| 7 | 2 | 3.03ms | 1 | 2.99ms | # spent 2.99ms within Archive::Zip::BEGIN@7 which was called:
# once (2.99ms+0s) by installer::archivefiles::BEGIN@30 at line 7 # spent 2.99ms making 1 call to Archive::Zip::BEGIN@7 |
| 8 | 2 | 47µs | 1 | 12µs | # spent 12µs within Archive::Zip::BEGIN@8 which was called:
# once (12µs+0s) by installer::archivefiles::BEGIN@30 at line 8 # spent 12µs making 1 call to Archive::Zip::BEGIN@8 |
| 9 | 2 | 45µs | 1 | 8µs | # spent 8µs within Archive::Zip::BEGIN@9 which was called:
# once (8µs+0s) by installer::archivefiles::BEGIN@30 at line 9 # spent 8µs making 1 call to Archive::Zip::BEGIN@9 |
| 10 | 2 | 3.12ms | 1 | 34.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 # spent 34.2ms making 1 call to Archive::Zip::BEGIN@10 |
| 11 | 2 | 46µs | 1 | 9µs | # spent 9µs within Archive::Zip::BEGIN@11 which was called:
# once (9µs+0s) by installer::archivefiles::BEGIN@30 at line 11 # spent 9µs making 1 call to Archive::Zip::BEGIN@11 |
| 12 | 2 | 2.77ms | 1 | 22.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 # spent 22.6ms making 1 call to Archive::Zip::BEGIN@12 |
| 13 | 2 | 46µs | 1 | 11µs | # spent 11µs within Archive::Zip::BEGIN@13 which was called:
# once (11µs+0s) by installer::archivefiles::BEGIN@30 at line 13 # spent 11µs making 1 call to Archive::Zip::BEGIN@13 |
| 14 | 2 | 3.32ms | 1 | 46.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 # spent 46.7ms making 1 call to Archive::Zip::BEGIN@14 |
| 15 | 2 | 2.92ms | 1 | 4.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 # spent 4.53ms making 1 call to Archive::Zip::BEGIN@15 |
| 16 | |||||
| 17 | 2 | 86µs | 2 | 163µ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 # 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 | ||||
| 19 | 3 | 16µs | $VERSION = '1.30'; | ||
| 20 | |||||
| 21 | require Exporter; | ||||
| 22 | @ISA = qw( Exporter ); | ||||
| 23 | 1 | 54µs | 1 | 16µs | } # spent 16µs making 1 call to Archive::Zip::BEGIN@18 |
| 24 | |||||
| 25 | 2 | 80µs | 2 | 120µ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 # 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 | ||||
| 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. | ||||
| 30 | 2 | 8µs | $ChunkSize ||= 32768; | ||
| 31 | |||||
| 32 | $ErrorHandler = \&Carp::carp; | ||||
| 33 | 1 | 51µs | 1 | 7µ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. | ||||
| 36 | 2 | 345µs | 2 | 121µ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 # 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 | ||||
| 38 | 3 | 54µ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 | ||||
| 138 | 1 | 33µ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 | |||||
| 146 | 1 | 109µs | 1 | 178µs | } # spent 178µs making 1 call to Archive::Zip::BEGIN@37 |
| 147 | |||||
| 148 | # Error codes | ||||
| 149 | 2 | 59µs | 2 | 170µ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 # spent 93µs making 1 call to Archive::Zip::BEGIN@149
# spent 78µs making 1 call to constant::import |
| 150 | 2 | 57µs | 2 | 120µ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 # spent 66µs making 1 call to Archive::Zip::BEGIN@150
# spent 54µs making 1 call to constant::import |
| 151 | 2 | 57µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@151
# spent 51µs making 1 call to constant::import |
| 152 | 2 | 55µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@152
# spent 50µs making 1 call to constant::import |
| 153 | 2 | 126µs | 2 | 111µ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 # 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 | |||||
| 158 | 2 | 145µs | 2 | 377µ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 # spent 226µs making 1 call to Archive::Zip::BEGIN@158
# spent 151µs making 1 call to constant::import |
| 159 | 2 | 61µs | 2 | 128µ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 # spent 73µs making 1 call to Archive::Zip::BEGIN@159
# spent 54µs making 1 call to constant::import |
| 160 | 2 | 57µs | 2 | 117µ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 # spent 66µs making 1 call to Archive::Zip::BEGIN@160
# spent 51µs making 1 call to constant::import |
| 161 | 2 | 56µs | 2 | 119µ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 # spent 66µs making 1 call to Archive::Zip::BEGIN@161
# spent 53µs making 1 call to constant::import |
| 162 | 2 | 56µs | 2 | 118µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@162
# spent 53µs making 1 call to constant::import |
| 163 | 2 | 58µs | 2 | 120µ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 # spent 68µs making 1 call to Archive::Zip::BEGIN@163
# spent 52µs making 1 call to constant::import |
| 164 | 2 | 60µs | 2 | 117µ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 # spent 66µs making 1 call to Archive::Zip::BEGIN@164
# spent 51µs making 1 call to constant::import |
| 165 | 2 | 55µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@165
# spent 50µs making 1 call to constant::import |
| 166 | 2 | 56µs | 2 | 115µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@166
# spent 52µs making 1 call to constant::import |
| 167 | 2 | 56µs | 2 | 116µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@167
# spent 51µs making 1 call to constant::import |
| 168 | 2 | 57µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@168
# spent 50µs making 1 call to constant::import |
| 169 | 2 | 55µs | 2 | 115µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@169
# spent 51µs making 1 call to constant::import |
| 170 | 2 | 57µs | 2 | 115µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@170
# spent 51µs making 1 call to constant::import |
| 171 | 2 | 55µs | 2 | 109µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@171
# spent 48µs making 1 call to constant::import |
| 172 | 2 | 55µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@172
# spent 50µs making 1 call to constant::import |
| 173 | 2 | 54µs | 2 | 110µ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 # spent 60µs making 1 call to Archive::Zip::BEGIN@173
# spent 50µs making 1 call to constant::import |
| 174 | 2 | 54µs | 2 | 115µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@174
# spent 50µs making 1 call to constant::import |
| 175 | 2 | 55µs | 2 | 110µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@175
# spent 49µs making 1 call to constant::import |
| 176 | 2 | 68µs | 2 | 112µ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 # 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 | |||||
| 181 | 2 | 60µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@181
# spent 51µs making 1 call to constant::import |
| 182 | 2 | 58µs | 2 | 110µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@182
# spent 49µs making 1 call to constant::import |
| 183 | 2 | 64µs | 2 | 113µ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 # 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 | |||||
| 188 | 2 | 59µs | 2 | 115µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@188
# spent 51µs making 1 call to constant::import |
| 189 | 2 | 56µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@189
# spent 50µs making 1 call to constant::import |
| 190 | 2 | 58µs | 2 | 117µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@190
# spent 53µs making 1 call to constant::import |
| 191 | 2 | 60µs | 2 | 109µ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 # 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 | ||||
| 196 | 2 | 55µs | 2 | 116µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@196
# spent 52µs making 1 call to constant::import |
| 197 | 2 | 54µs | 2 | 109µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@197
# spent 48µs making 1 call to constant::import |
| 198 | 2 | 59µs | 2 | 109µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@198
# spent 48µs making 1 call to constant::import |
| 199 | 2 | 55µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@199
# spent 50µs making 1 call to constant::import |
| 200 | 2 | 54µs | 2 | 107µ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 # spent 59µs making 1 call to Archive::Zip::BEGIN@200
# spent 48µs making 1 call to constant::import |
| 201 | 2 | 65µs | 2 | 108µ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 # 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 | |||||
| 206 | 2 | 55µs | 2 | 115µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@206
# spent 50µs making 1 call to constant::import |
| 207 | 2 | 54µs | 2 | 116µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@207
# spent 52µs making 1 call to constant::import |
| 208 | 2 | 179µs | 2 | 115µ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 # 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) | ||||
| 211 | 2 | 55µs | 2 | 118µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@211
# spent 53µs making 1 call to constant::import |
| 212 | 2 | 57µs | 2 | 113µ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 # 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. | ||||
| 215 | 2 | 57µs | 2 | 108µ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 # spent 60µs making 1 call to Archive::Zip::BEGIN@215
# spent 48µs making 1 call to constant::import |
| 216 | 2 | 55µs | 2 | 118µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@216
# spent 53µs making 1 call to constant::import |
| 217 | 2 | 60µs | 2 | 108µ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 # 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. | ||||
| 220 | 2 | 57µs | 2 | 105µ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 # spent 58µs making 1 call to Archive::Zip::BEGIN@220
# spent 46µs making 1 call to constant::import |
| 221 | 2 | 54µs | 2 | 116µ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 # spent 65µs making 1 call to Archive::Zip::BEGIN@221
# spent 51µs making 1 call to constant::import |
| 222 | 2 | 59µs | 2 | 111µ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 # 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. | ||||
| 225 | 2 | 55µs | 2 | 105µ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 # spent 58µs making 1 call to Archive::Zip::BEGIN@225
# spent 47µs making 1 call to constant::import |
| 226 | 2 | 57µs | 2 | 111µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@226
# spent 50µs making 1 call to constant::import |
| 227 | |||||
| 228 | 2 | 58µs | 2 | 111µ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 # spent 61µs making 1 call to Archive::Zip::BEGIN@228
# spent 50µs making 1 call to constant::import |
| 229 | 2 | 56µs | 2 | 113µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@229
# spent 50µs making 1 call to constant::import |
| 230 | 2 | 71µs | 2 | 114µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@230
# spent 50µs making 1 call to constant::import |
| 231 | |||||
| 232 | 2 | 85µs | 2 | 114µ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 # spent 64µs making 1 call to Archive::Zip::BEGIN@232
# spent 51µs making 1 call to constant::import |
| 233 | 2 | 75µ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 # spent 54µs making 1 call to constant::import
# spent 21µs making 1 call to Archive::Zip::CORE:pack | ||
| 234 | 2 | 93µs | 1 | 96µs | pack( "V", END_OF_CENTRAL_DIRECTORY_SIGNATURE ); # spent 96µs making 1 call to Archive::Zip::BEGIN@233 |
| 235 | 2 | 54µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@235
# spent 50µs making 1 call to constant::import |
| 236 | 2 | 61µs | 2 | 122µ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 # spent 67µs making 1 call to Archive::Zip::BEGIN@236
# spent 55µs making 1 call to constant::import |
| 237 | |||||
| 238 | 2 | 63µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@238
# spent 50µs making 1 call to constant::import |
| 239 | 2 | 62µs | 2 | 107µ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 # spent 60µs making 1 call to Archive::Zip::BEGIN@239
# spent 47µs making 1 call to constant::import |
| 240 | 2 | 58µs | 2 | 118µ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 # 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 | ||||
| 243 | 2 | 56µs | 2 | 111µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@243
# spent 49µs making 1 call to constant::import |
| 244 | 2 | 55µs | 2 | 115µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@244
# spent 52µs making 1 call to constant::import |
| 245 | 2 | 57µs | 2 | 112µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@245
# spent 50µs making 1 call to constant::import |
| 246 | 2 | 54µs | 2 | 113µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@246
# spent 50µs making 1 call to constant::import |
| 247 | 2 | 55µs | 2 | 111µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@247
# spent 49µs making 1 call to constant::import |
| 248 | 2 | 107µs | 2 | 111µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@248
# spent 49µs making 1 call to constant::import |
| 249 | 2 | 55µs | 2 | 114µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@249
# spent 50µs making 1 call to constant::import |
| 250 | 2 | 60µs | 2 | 113µ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 # spent 63µs making 1 call to Archive::Zip::BEGIN@250
# spent 50µs making 1 call to constant::import |
| 251 | 2 | 131µs | 2 | 113µ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 # 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 | ||||
| 254 | 1 | 1.42ms | require Archive::Zip::Archive; | ||
| 255 | 1 | 1.82ms | require Archive::Zip::Member; | ||
| 256 | 1 | 1.83ms | require Archive::Zip::FileMember; | ||
| 257 | 1 | 1.98ms | require Archive::Zip::DirectoryMember; | ||
| 258 | 1 | 2.07ms | require Archive::Zip::ZipFileMember; | ||
| 259 | 1 | 1.83ms | require Archive::Zip::NewFileMember; | ||
| 260 | 1 | 1.44ms | require Archive::Zip::StringMember; | ||
| 261 | |||||
| 262 | 2 | 57µs | 2 | 111µ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 # spent 62µs making 1 call to Archive::Zip::BEGIN@262
# spent 49µs making 1 call to constant::import |
| 263 | 2 | 2.68ms | 2 | 108µ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 # 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 | ||||
| 268 | # Can't rely on Scalar::Util, so use the next best way | ||||
| 269 | 19092 | 74.4ms | local $@; | ||
| 270 | 6364 | 12.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 | ||||
| 274 | 56379 | 253ms | local $@; | ||
| 275 | 18793 | 41.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 | ||||
| 286 | 420 | 3.91ms | my $class = shift; | ||
| 287 | 420 | 5.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 | ||||
| 291 | 822 | 2.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 | |||||
| 303 | 137 | 1.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). | ||||
| 308 | sub 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 | |||||
| 316 | sub chunkSize { | ||||
| 317 | return $Archive::Zip::ChunkSize; | ||||
| 318 | } | ||||
| 319 | |||||
| 320 | sub 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 | |||||
| 335 | sub _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. | ||||
| 344 | sub _formatError { | ||||
| 345 | shift if ref( $_[0] ); | ||||
| 346 | _printError( 'format error:', @_ ); | ||||
| 347 | return AZ_FORMAT_ERROR; | ||||
| 348 | } | ||||
| 349 | |||||
| 350 | # This is called on IO errors. | ||||
| 351 | sub _ioError { | ||||
| 352 | shift if ref( $_[0] ); | ||||
| 353 | _printError( 'IO error:', @_, ':', $! ); | ||||
| 354 | return AZ_IO_ERROR; | ||||
| 355 | } | ||||
| 356 | |||||
| 357 | # This is called on generic errors. | ||||
| 358 | sub _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 | ||||
| 366 | sub _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 | ||||
| 372 | 37586 | 155ms | my $fh = shift; | ||
| 373 | 37586 | 399ms | 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 | ||||
| 380 | 9546 | 24.7ms | my $fh = shift; | ||
| 381 | return 0 unless ref $fh; | ||||
| 382 | 1591 | 19.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 | } | ||||
| 386 | 1591 | 15.8ms | if ( _ISA($fh, 'IO::String') ) { # spent 15.8ms making 1591 calls to Archive::Zip::_ISA, avg 10µs/call | ||
| 387 | return 1; | ||||
| 388 | } | ||||
| 389 | 3182 | 31.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. | ||||
| 408 | sub _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 | ||||
| 410 | 31047 | 254ms | my ($self, $fh, @data) = @_; | ||
| 411 | |||||
| 412 | local $\; | ||||
| 413 | |||||
| 414 | 10349 | 971ms | 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 | ||||
| 423 | 131551 | 288ms | 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 { | ||||
| 437 | 18793 | 572ms | $handle = IO::File->new; # spent 572ms making 18793 calls to IO::File::new, avg 30µs/call | ||
| 438 | 18793 | 10.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 | ||||
| 450 | 201740 | 298ms | my $fh = shift; | ||
| 451 | my $fileName = shift; | ||||
| 452 | my $expectedSignature = shift; # optional | ||||
| 453 | |||||
| 454 | my $signatureData; | ||||
| 455 | 20174 | 321ms | 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 | } | ||||
| 459 | 20174 | 27.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 | |||||
| 491 | sub 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 | ||||
| 521 | sub _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 | # | ||||
| 540 | sub _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 | ||||
| 542 | 99820 | 419ms | 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); | ||||
| 549 | 9982 | 718ms | my $localDirs = @paths ? File::Spec->catdir(@paths) : ''; # spent 718ms making 9982 calls to File::Spec::Cygwin::catdir, avg 72µs/call | ||
| 550 | 9982 | 69.3ms | my $localName = File::Spec->catpath( $volume, $localDirs, $filename ); # spent 69.3ms making 9982 calls to File::Spec::Unix::catpath, avg 7µs/call | ||
| 551 | 19964 | 751ms | 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 | |||||
| 557 | 1 | 25µs | 1; | ||
| 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 | |||||
# 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 | |||||
# 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 | |||||
# 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 |