Description
Feature or enhancement
Replace manual gzip format handling with zlib's inflateGetHeader()
and deflateSetHeader()
.
Pitch
RHEL, SLES and Ubuntu for IBM zSystems (aka s390x) ship with a zlib
optimization [1] that significantly improves deflate and inflate
performance on this platform by using a specialized CPU instruction.
This instruction not only compresses the data, but also computes a
checksum. At the moment Pyhton's gzip support performs compression and
checksum calculation separately, which creates unnecessary overhead on
s390x.
The reason is that Python needs to write specific values into gzip
header; and when this support was introduced in year 1997, there was
indeed no better way to do this.
Since v1.2.2.1 (2011) zlib provides inflateGetHeader() and
deflateSetHeader() functions for that, so Python does not have to deal
with the exact header and trailer format anymore.
Previous discussion
https://discuss.python.org/t/read-and-write-gzip-header-and-trailer-with-zlib/25703/2
[1] madler/zlib#410
Linked PRs
Metadata
Metadata
Assignees
Projects
Status