[issue19780] Pickle 4 frame headers optimization
Serhiy Storchaka
report at bugs.python.org
Tue Nov 26 15:46:09 CET 2013
Serhiy Storchaka added the comment:
> Bad wording perhaps, but:
>
> + if not final:
> + n += 9 # next frame header
> write = self.file_write
> write(FRAME)
> write(pack("<Q", n))
>
> does change how the frame length is calculated and emitted in the pickle
> stream.
Of course (as any optimizer). It produces more optimal pickled data which can
be parsed by existing unpicklers.
> This is not compliant with how the PEP defines it (the frame size doesn't
> include the header of the next frame):
> http://www.python.org/dev/peps/pep-3154/#framing
"How the pickler decides to partition the pickle stream into frames is an
implementation detail."
> > All tests are passed with this optimization
>
> Well, perhaps there are not enough tests :-) But the protocol is
> standardized so that other people can implement it. The reference
> implementation can't do something different than the PEP does.
Could you write tests which exposes behavior difference without sticking
implementation details?
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19780>
_______________________________________
More information about the Python-bugs-list
mailing list