Optimize patch 251 a tiny bit

Before:

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    2000 loops, best of 5: 157 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    2000 loops, best of 5: 162 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    1000 loops, best of 5: 146 usec per loop

After:

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 75.9 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 77.1 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 76.2 usec per loop

The results are inconclusive on 3.13,
but we want the patch to be identical (if possible).

This can be shipped with the next update.
This commit is contained in:
Miro Hrončok 2024-12-05 11:53:48 +01:00
commit f84c0fe12f
2 changed files with 3 additions and 3 deletions

View file

@ -51,7 +51,7 @@ index 89a81c55cb..950e2e337f 100644
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index ec3b638f00..28ad8a2321 100644
index ec3b638f00..94a6c64aa2 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -106,6 +106,12 @@
@ -120,7 +120,7 @@ index ec3b638f00..28ad8a2321 100644
+ # we only change the defaults here, so explicit --prefix will take precedence
+ # https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
+ if (scheme == 'posix_prefix' and
+ get_config_vars('prefix')[0] == '/usr' and
+ sys.prefix == '/usr' and
+ 'RPM_BUILD_ROOT' not in os.environ):
+ _extend_dict(vars, _config_vars_local())
+ else:

View file

@ -341,7 +341,7 @@ Source11: idle3.appdata.xml
# (Patches taken from github.com/fedora-python/cpython)
# 00251 # f5b56b9d4a79df04e9d90ceff7388554c5f818b6
# 00251 # 5ac6e7781923cbb3e4606e3bca381a1167d322e5
# Change user install location
#
# Set values of base and platbase in sysconfig from /usr