summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2016-02-03 07:06:33 +0000
committerMartin Panter <vadmium+py@gmail.com>2016-02-03 07:06:33 +0000
commit341946f1f841b074653b457740671987c5ba1e0e (patch)
treeac8cbad7e8a573cafb12d34dda8bfde3b701bb7b
parenta0630fd797a71780094d01ac242e64d9679be84a (diff)
downloadcpython-341946f1f841b074653b457740671987c5ba1e0e.tar.gz
Issue #26244: Clarify default zlib compression level in documentation
Based on patch by Aviv Palivoda.
-rw-r--r--Doc/library/zlib.rst7
-rw-r--r--Misc/ACKS1
-rw-r--r--Modules/clinic/zlibmodule.c.h7
-rw-r--r--Modules/zlibmodule.c7
4 files changed, 13 insertions, 9 deletions
diff --git a/Doc/library/zlib.rst b/Doc/library/zlib.rst
index a815d1fb18..1869bb8aac 100644
--- a/Doc/library/zlib.rst
+++ b/Doc/library/zlib.rst
@@ -60,10 +60,11 @@ The available exception and functions in this module are:
Returns a compression object, to be used for compressing data streams that won't
fit into memory at once.
- *level* is the compression level -- an integer from ``0`` to ``9``. A value
- of ``1`` is fastest and produces the least compression, while a value of
+ *level* is the compression level -- an integer from ``0`` to ``9`` or ``-1``.
+ A value of ``1`` is fastest and produces the least compression, while a value of
``9`` is slowest and produces the most. ``0`` is no compression. The default
- value is ``6``.
+ value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a default
+ compromise between speed and compression (currently equivalent to level 6).
*method* is the compression algorithm. Currently, the only supported value is
``DEFLATED``.
diff --git a/Misc/ACKS b/Misc/ACKS
index 426d19f714..b07244a130 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1071,6 +1071,7 @@ Joonas Paalasmaa
Martin Packman
Shriphani Palakodety
Julien Palard
+Aviv Palivoda
Ondrej Palkovsky
Mike Pall
Todd R. Palmer
diff --git a/Modules/clinic/zlibmodule.c.h b/Modules/clinic/zlibmodule.c.h
index c5cdf427b5..2d75bc912e 100644
--- a/Modules/clinic/zlibmodule.c.h
+++ b/Modules/clinic/zlibmodule.c.h
@@ -89,8 +89,9 @@ PyDoc_STRVAR(zlib_compressobj__doc__,
"Return a compressor object.\n"
"\n"
" level\n"
-" The compression level (an integer in the range 0-9; default is 6).\n"
-" Higher compression levels are slower, but produce smaller results.\n"
+" The compression level (an integer in the range 0-9 or -1; default is\n"
+" currently equivalent to 6). Higher compression levels are slower,\n"
+" but produce smaller results.\n"
" method\n"
" The compression algorithm. If given, this must be DEFLATED.\n"
" wbits\n"
@@ -438,4 +439,4 @@ exit:
#ifndef ZLIB_COMPRESS_COPY_METHODDEF
#define ZLIB_COMPRESS_COPY_METHODDEF
#endif /* !defined(ZLIB_COMPRESS_COPY_METHODDEF) */
-/*[clinic end generated code: output=7734aec079550bc8 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=cf81e1deae3af0ce input=a9049054013a1b77]*/
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index d5a6e53ea5..11a34bbc62 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -390,8 +390,9 @@ zlib_decompress_impl(PyModuleDef *module, Py_buffer *data, int wbits,
zlib.compressobj
level: int(c_default="Z_DEFAULT_COMPRESSION") = Z_DEFAULT_COMPRESSION
- The compression level (an integer in the range 0-9; default is 6).
- Higher compression levels are slower, but produce smaller results.
+ The compression level (an integer in the range 0-9 or -1; default is
+ currently equivalent to 6). Higher compression levels are slower,
+ but produce smaller results.
method: int(c_default="DEFLATED") = DEFLATED
The compression algorithm. If given, this must be DEFLATED.
wbits: int(c_default="MAX_WBITS") = MAX_WBITS
@@ -413,7 +414,7 @@ Return a compressor object.
static PyObject *
zlib_compressobj_impl(PyModuleDef *module, int level, int method, int wbits,
int memLevel, int strategy, Py_buffer *zdict)
-/*[clinic end generated code: output=2949bbb9a5723ccd input=b034847f8821f6af]*/
+/*[clinic end generated code: output=2949bbb9a5723ccd input=de2ffab6e910cd8b]*/
{
compobject *self = NULL;
int err;