Aug. 3, 2010
8:51 p.m.
2010/8/3 Kristján Valur Jónsson <kristjan@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.