From fcecce390d4cc5c5b92d19f92cd71cd44da6c4c8 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 10 Sep 2026 11:44:29 +0300 Subject: [PATCH] Skip optimisations to speedup test_freeze rebuild --- Tools/freeze/test/freeze.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Tools/freeze/test/freeze.py b/Tools/freeze/test/freeze.py index 1e3687dbb807a69..f4330076f225b52 100644 --- a/Tools/freeze/test/freeze.py +++ b/Tools/freeze/test/freeze.py @@ -64,6 +64,16 @@ def find_opt(args, name): return -1 +def remove_opt(args: list[str], name: str) -> None: + opt = f'--{name}' + optstart = f'{opt}=' + args[:] = [ + arg + for arg in args + if arg != opt and not arg.startswith(optstart) + ] + + def ensure_opt(args, name, value): opt = f'--{name}' pos = find_opt(args, name) @@ -128,6 +138,10 @@ def prepare(script=None, outdir=None): # Run configure. print(f'configuring python in {builddir}...') config_args = shlex.split(sysconfig.get_config_var('CONFIG_ARGS') or '') + # Optimisations such as LTO and PGO only slow down the build of this + # throwaway interpreter without affecting what the test checks. + remove_opt(config_args, 'enable-optimizations') + remove_opt(config_args, 'with-lto') cmd = [os.path.join(srcdir, 'configure'), *config_args] ensure_opt(cmd, 'cache-file', os.path.join(outdir, 'python-config.cache')) prefix = os.path.join(outdir, 'python-installation')