[Python-Dev] PEP 552: deterministic pycs (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Fri Sep 8 10:55:00 EDT 2017


On Fri, 8 Sep 2017 07:49:46 -0700 Nick Coghlan <ncoghlan at gmail.com> wrote:

On 8 September 2017 at 03:04, Antoine Pitrou <solipsis at pitrou.net> wrote: > On Thu, 7 Sep 2017 18:47:20 -0700 > Nick Coghlan <ncoghlan at gmail.com> wrote: >> However, I do wonder whether we could encode all the mode settings >> into the magic number, such that we did something like reserving the >> top 3 bits for format flags: >> >> * number & 0x1FFF -> the traditional magic number >> * number & 0x8000 -> timestamp or hash? >> * number & 0x4000 -> checked or not? >> * number & 0x2000 -> reserved for future format changes > > I'd rather a single magic number and a separate bitfield that tells > what the header encodes exactly. We don't have to fight for a tiny > size reduction of pyc files.

One of Benjamin's goals was for the existing timestamp-based pyc format to remain completely unchanged, so we need some kind of marker in the magic number to indicate whether the file is using the new format or nor.

I don't think that's a useful goal, as long as we bump the magic number.

Note the header format was already changed in the past when we added a "size" field beside the "timestamp" field, to resolve collisions due to timestamp granularity.

Regards

Antoine.



More information about the Python-Dev mailing list