On 28 Sep 2021, at 10:05, Antoine Pitrou <antoine@python.org> wrote:

On Mon, 27 Sep 2021 10:51:43 -0600
Eric Snow <ericsnowcurrently@gmail.com> wrote:
We've frozen most of the stdlib modules imported during "python -c
pass" [1][2], to make startup a bit faster.  Import of those modules
is controlled by "-X frozen_modules=[on|off]".  Currently it defaults
to "off" but we'd like to default to "on".  The blocker is the impact
on contributors.  I expect many will make changes to a stdlib module
and then puzzle over why those changes aren't getting used.  That's an
annoyance we can avoid, which is the point of this thread.

Possible solutions:

1. always default to "on" (the annoyance for contributors isn't big enough?)
2. default to "on" if it's a PGO build (and "off" otherwise)
3. default to "on" unless running from the source tree

Thoughts?

My vote is on #3 to minimize contributor annoyance and
eventual puzzlement.

I agree, but… Most CPython tests are run while running from the source tree, that means that there will have to be testrunner configurations that run with “-X frozen_modules=on”. 

Ronald


Twitter / micro.blog: @ronaldoussoren
Blog: https://blog.ronaldoussoren.net/