| File | /project/perl/lib/IO/Compress/Gzip/Constants.pm |
| Statements Executed | 101 |
| Statement Execution Time | 3.52ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 2 | 11µs | 11µs | IO::Compress::Gzip::Constants::CORE:pack (opcode) |
| 0 | 0 | 0 | 0s | 0s | IO::Compress::Gzip::Constants::BEGIN |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package IO::Compress::Gzip::Constants; | ||||
| 2 | |||||
| 3 | 3 | 88µs | 1 | 25µs | use strict ; # spent 25µs making 1 call to strict::import |
| 4 | 3 | 78µs | 1 | 119µs | use warnings; # spent 119µs making 1 call to warnings::import |
| 5 | 3 | 315µs | 1 | 15µs | use bytes; # spent 15µs making 1 call to bytes::import |
| 6 | |||||
| 7 | 1 | 6µs | require Exporter; | ||
| 8 | |||||
| 9 | 1 | 5µs | our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names); | ||
| 10 | 1 | 4µs | our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE); | ||
| 11 | |||||
| 12 | 1 | 5µs | $VERSION = '2.005'; | ||
| 13 | |||||
| 14 | 1 | 10µs | @ISA = qw(Exporter); | ||
| 15 | |||||
| 16 | 1 | 18µs | @EXPORT= qw( | ||
| 17 | |||||
| 18 | GZIP_ID_SIZE | ||||
| 19 | GZIP_ID1 | ||||
| 20 | GZIP_ID2 | ||||
| 21 | |||||
| 22 | GZIP_FLG_DEFAULT | ||||
| 23 | GZIP_FLG_FTEXT | ||||
| 24 | GZIP_FLG_FHCRC | ||||
| 25 | GZIP_FLG_FEXTRA | ||||
| 26 | GZIP_FLG_FNAME | ||||
| 27 | GZIP_FLG_FCOMMENT | ||||
| 28 | GZIP_FLG_RESERVED | ||||
| 29 | |||||
| 30 | GZIP_CM_DEFLATED | ||||
| 31 | |||||
| 32 | GZIP_MIN_HEADER_SIZE | ||||
| 33 | GZIP_TRAILER_SIZE | ||||
| 34 | |||||
| 35 | GZIP_MTIME_DEFAULT | ||||
| 36 | GZIP_XFL_DEFAULT | ||||
| 37 | GZIP_FEXTRA_HEADER_SIZE | ||||
| 38 | GZIP_FEXTRA_MAX_SIZE | ||||
| 39 | GZIP_FEXTRA_SUBFIELD_HEADER_SIZE | ||||
| 40 | GZIP_FEXTRA_SUBFIELD_ID_SIZE | ||||
| 41 | GZIP_FEXTRA_SUBFIELD_LEN_SIZE | ||||
| 42 | GZIP_FEXTRA_SUBFIELD_MAX_SIZE | ||||
| 43 | |||||
| 44 | $GZIP_FNAME_INVALID_CHAR_RE | ||||
| 45 | $GZIP_FCOMMENT_INVALID_CHAR_RE | ||||
| 46 | |||||
| 47 | GZIP_FHCRC_SIZE | ||||
| 48 | |||||
| 49 | GZIP_ISIZE_MAX | ||||
| 50 | GZIP_ISIZE_MOD_VALUE | ||||
| 51 | |||||
| 52 | |||||
| 53 | GZIP_NULL_BYTE | ||||
| 54 | |||||
| 55 | GZIP_OS_DEFAULT | ||||
| 56 | |||||
| 57 | %GZIP_OS_Names | ||||
| 58 | |||||
| 59 | GZIP_MINIMUM_HEADER | ||||
| 60 | |||||
| 61 | ); | ||||
| 62 | |||||
| 63 | # Constant names derived from RFC 1952 | ||||
| 64 | |||||
| 65 | 3 | 99µs | 1 | 201µs | use constant GZIP_ID_SIZE => 2 ; # spent 201µs making 1 call to constant::import |
| 66 | 3 | 92µs | 1 | 182µs | use constant GZIP_ID1 => 0x1F; # spent 182µs making 1 call to constant::import |
| 67 | 3 | 92µs | 1 | 232µs | use constant GZIP_ID2 => 0x8B; # spent 232µs making 1 call to constant::import |
| 68 | |||||
| 69 | 3 | 89µs | 1 | 192µs | use constant GZIP_MIN_HEADER_SIZE => 10 ;# minimum gzip header size # spent 192µs making 1 call to constant::import |
| 70 | 3 | 91µs | 1 | 193µs | use constant GZIP_TRAILER_SIZE => 8 ; # spent 193µs making 1 call to constant::import |
| 71 | |||||
| 72 | |||||
| 73 | 3 | 89µs | 1 | 173µs | use constant GZIP_FLG_DEFAULT => 0x00 ; # spent 173µs making 1 call to constant::import |
| 74 | 3 | 89µs | 1 | 172µs | use constant GZIP_FLG_FTEXT => 0x01 ; # spent 172µs making 1 call to constant::import |
| 75 | 3 | 93µs | 1 | 188µs | use constant GZIP_FLG_FHCRC => 0x02 ; # called CONTINUATION in gzip # spent 188µs making 1 call to constant::import |
| 76 | 3 | 93µs | 1 | 187µs | use constant GZIP_FLG_FEXTRA => 0x04 ; # spent 187µs making 1 call to constant::import |
| 77 | 3 | 95µs | 1 | 193µs | use constant GZIP_FLG_FNAME => 0x08 ; # spent 193µs making 1 call to constant::import |
| 78 | 3 | 104µs | 1 | 175µs | use constant GZIP_FLG_FCOMMENT => 0x10 ; # spent 175µs making 1 call to constant::import |
| 79 | #use constant GZIP_FLG_ENCRYPTED => 0x20 ; # documented in gzip sources | ||||
| 80 | 3 | 113µs | 1 | 177µs | use constant GZIP_FLG_RESERVED => (0x20 | 0x40 | 0x80) ; # spent 177µs making 1 call to constant::import |
| 81 | |||||
| 82 | 3 | 94µs | 1 | 174µs | use constant GZIP_XFL_DEFAULT => 0x00 ; # spent 174µs making 1 call to constant::import |
| 83 | |||||
| 84 | 3 | 89µs | 1 | 174µs | use constant GZIP_MTIME_DEFAULT => 0x00 ; # spent 174µs making 1 call to constant::import |
| 85 | |||||
| 86 | 3 | 87µs | 1 | 196µs | use constant GZIP_FEXTRA_HEADER_SIZE => 2 ; # spent 196µs making 1 call to constant::import |
| 87 | 3 | 91µs | 1 | 178µs | use constant GZIP_FEXTRA_MAX_SIZE => 0xFF ; # spent 178µs making 1 call to constant::import |
| 88 | 3 | 94µs | 1 | 182µs | use constant GZIP_FEXTRA_SUBFIELD_ID_SIZE => 2 ; # spent 182µs making 1 call to constant::import |
| 89 | 3 | 101µs | 1 | 203µs | use constant GZIP_FEXTRA_SUBFIELD_LEN_SIZE => 2 ; # spent 203µs making 1 call to constant::import |
| 90 | 1 | 19µs | 1 | 173µs | use constant GZIP_FEXTRA_SUBFIELD_HEADER_SIZE => GZIP_FEXTRA_SUBFIELD_ID_SIZE + # spent 173µs making 1 call to constant::import |
| 91 | 2 | 97µs | GZIP_FEXTRA_SUBFIELD_LEN_SIZE; | ||
| 92 | 1 | 21µs | 1 | 175µs | use constant GZIP_FEXTRA_SUBFIELD_MAX_SIZE => GZIP_FEXTRA_MAX_SIZE - # spent 175µs making 1 call to constant::import |
| 93 | 2 | 178µs | GZIP_FEXTRA_SUBFIELD_HEADER_SIZE ; | ||
| 94 | |||||
| 95 | |||||
| 96 | 1 | 10µs | if (ord('A') == 193) | ||
| 97 | { | ||||
| 98 | # EBCDIC | ||||
| 99 | $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x03\x37\x2d-\x2f\x16\x05\x15\x0b-\x13\x3c\x3d\x32\x26\x18\x19\x3f\x27\x1c-\x1f\x07\x20-\x25\x06\x17\x28-\x2c\x09\x0a\x1b\x30\x31\x1a\x33-\x36\x08\x38-\x3b\x04\x14\x3e\xff]'; | ||||
| 100 | $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x03\x37\x2d-\x2f\x16\x05\x15\x0b-\x0f\x11-\x13\x3c\x3d\x32\x26\x18\x19\x3f\x27\x1c-\x1f\x07\x20-\x25\x06\x17\x28-\x2c\x09\x0a\x1b\x30\x31\x1a\x33-\x36\x08\x38-\x3b\x04\x14\x3e\xff]'; | ||||
| 101 | |||||
| 102 | } | ||||
| 103 | else | ||||
| 104 | { | ||||
| 105 | 1 | 5µs | $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x1F\x7F-\x9F]'; | ||
| 106 | 1 | 5µs | $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x09\x11-\x1F\x7F-\x9F]'; | ||
| 107 | } | ||||
| 108 | |||||
| 109 | 3 | 91µs | 1 | 177µs | use constant GZIP_FHCRC_SIZE => 2 ; # aka CONTINUATION in gzip # spent 177µs making 1 call to constant::import |
| 110 | |||||
| 111 | 3 | 110µs | 1 | 204µs | use constant GZIP_CM_DEFLATED => 8 ; # spent 204µs making 1 call to constant::import |
| 112 | |||||
| 113 | 3 | 93µs | 1 | 185µs | use constant GZIP_NULL_BYTE => "\x00"; # spent 185µs making 1 call to constant::import |
| 114 | 3 | 99µs | 1 | 182µs | use constant GZIP_ISIZE_MAX => 0xFFFFFFFF ; # spent 182µs making 1 call to constant::import |
| 115 | 3 | 93µs | 1 | 186µs | use constant GZIP_ISIZE_MOD_VALUE => GZIP_ISIZE_MAX + 1 ; # spent 186µs making 1 call to constant::import |
| 116 | |||||
| 117 | # OS Names sourced from http://www.gzip.org/format.txt | ||||
| 118 | |||||
| 119 | 3 | 255µs | 1 | 182µs | use constant GZIP_OS_DEFAULT=> 0xFF ; # spent 182µs making 1 call to constant::import |
| 120 | 1 | 40µs | %GZIP_OS_Names = ( | ||
| 121 | 0 => 'MS-DOS', | ||||
| 122 | 1 => 'Amiga', | ||||
| 123 | 2 => 'VMS', | ||||
| 124 | 3 => 'Unix', | ||||
| 125 | 4 => 'VM/CMS', | ||||
| 126 | 5 => 'Atari TOS', | ||||
| 127 | 6 => 'HPFS (OS/2, NT)', | ||||
| 128 | 7 => 'Macintosh', | ||||
| 129 | 8 => 'Z-System', | ||||
| 130 | 9 => 'CP/M', | ||||
| 131 | 10 => 'TOPS-20', | ||||
| 132 | 11 => 'NTFS (NT)', | ||||
| 133 | 12 => 'SMS QDOS', | ||||
| 134 | 13 => 'Acorn RISCOS', | ||||
| 135 | 14 => 'VFAT file system (Win95, NT)', | ||||
| 136 | 15 => 'MVS', | ||||
| 137 | 16 => 'BeOS', | ||||
| 138 | 17 => 'Tandem/NSK', | ||||
| 139 | 18 => 'THEOS', | ||||
| 140 | GZIP_OS_DEFAULT() => 'Unknown', | ||||
| 141 | ) ; | ||||
| 142 | |||||
| 143 | 1 | 57µs | 2 | 196µs | use constant GZIP_MINIMUM_HEADER => pack("C4 V C C", # spent 185µs making 1 call to constant::import
# spent 11µs making 1 call to IO::Compress::Gzip::Constants::CORE:pack |
| 144 | GZIP_ID1, GZIP_ID2, GZIP_CM_DEFLATED, GZIP_FLG_DEFAULT, | ||||
| 145 | 2 | 92µs | GZIP_MTIME_DEFAULT, GZIP_XFL_DEFAULT, GZIP_OS_DEFAULT) ; | ||
| 146 | |||||
| 147 | |||||
| 148 | 1 | 33µs | 1; | ||
# spent 11µs within IO::Compress::Gzip::Constants::CORE:pack which was called
# once (11µs+0s) by Net::HTTP::Methods::zlib_ok at line 143 of IO/Compress/Gzip/Constants.pm |