[Python-Dev] pickle output not unique

Alexander Belopolsky alexander.belopolsky at gmail.com
Tue Aug 3 22:51:53 CEST 2010


2010/8/3 Kristján Valur Jónsson <kristjan at ccpgames.com>:
..
>
> These strings are different, presumably because of the (ob_refcnt == 1)
> optimization used during object pickling.
>
I have recently closed a similar issue because it is not a bug and the
problem is not present in 3.x: http://bugs.python.org/issue8738

..
> I just wanted to point this out.  We‘ll attempt some local workarounds here,
> but it should otherwise be simple to modify pickling to optionally turn off
> this optimization and always generate the same output irrespective of the
> internal reference counts of the objects.

I wonder if it would help if rather than trying to turn off the ad-hoc
optimization, you run your pickle strings through
pickletools.optimize.


More information about the Python-Dev mailing list