[Python-Dev] PEP 552: deterministic pycs

Benjamin Peterson benjamin at python.org
Thu Sep 7 17:40:33 EDT 2017

On Thu, Sep 7, 2017, at 14:19, Guido van Rossum wrote:
> Nice one.
> It would be nice to specify the various APIs needed as well.

The compileall and py_compile ones?

> Why do you keep the mtime-based format as an option? (Maybe because it's
> faster? Did you measure it?)

I haven't actually measured anything, but stating a file will definitely
be faster than reading it completely and hashing it. I suppose if the
speed difference between timestamp-based and hash-based pycs turned out
to be small we could feel good about dropping the timestamp format
completely. However, that difference might be hard to determine
definitely as I expect the speed hit will vary widely based on system
parameters such as disk speed and page cache size.

My goal in this PEP was to preserve the current pyc invalidation
behavior, which works well today for many use cases, as the default. The
hash-based pycs are reserved for distribution and other power use cases.

More information about the Python-Dev mailing list