[Python-Dev] PEP 574 (pickle 5) implementation and backport available (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Fri May 25 17:11:04 EDT 2018


On Fri, 25 May 2018 14:50:57 -0600 Neil Schemenauer <nas-python at arctrix.com> wrote:

On 2018-05-25, Antoine Pitrou wrote: > Do you have something specific in mind?

I think compressed by default is a good idea. My quick proposal: - Use fast compression like lz4 or zlib with ZBESTSPEED - Add a 'compress' keyword argument with a default of None. For protocol 5, None means to compress. Providing 'compress' != None for older protocols will raise an error.

The question is what purpose does it serve for pickle to do it rather than for the user to compress the pickle themselves. You're basically saving one line of code. Am I missing some other advantage?

(also note that it requires us to ship the lz4 library with Python, or another modern compression library such as zstd; zlib's performance characteristics are outdated)

Regards

Antoine.



More information about the Python-Dev mailing list