From: Nice Zombies Date: Wed, 10 Apr 2024 08:28:48 +0000 (+0200) Subject: gh-117686: Improve the performance of ntpath.expanduser() (#117690) X-Git-Tag: v3.13.0b1~498 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f90ff0367271ea474b4ce3c8e2643cb51d188c18;p=thirdparty%2FPython%2Fcpython.git gh-117686: Improve the performance of ntpath.expanduser() (#117690) Refactor out _get_bothseps() call from the loop. --- diff --git a/Lib/ntpath.py b/Lib/ntpath.py index da5231ff2c09..f5d1a2195dd6 100644 --- a/Lib/ntpath.py +++ b/Lib/ntpath.py @@ -368,13 +368,15 @@ def expanduser(path): If user or $HOME is unknown, do nothing.""" path = os.fspath(path) if isinstance(path, bytes): + seps = b'\\/' tilde = b'~' else: + seps = '\\/' tilde = '~' if not path.startswith(tilde): return path i, n = 1, len(path) - while i < n and path[i] not in _get_bothseps(path): + while i < n and path[i] not in seps: i += 1 if 'USERPROFILE' in os.environ: diff --git a/Misc/NEWS.d/3.13.0a6.rst b/Misc/NEWS.d/3.13.0a6.rst index 52735dba3578..06807b396ed5 100644 --- a/Misc/NEWS.d/3.13.0a6.rst +++ b/Misc/NEWS.d/3.13.0a6.rst @@ -4,7 +4,7 @@ .. release date: 2024-04-09 .. section: Core and Builtins -Improve performance of :func:`os.path.join`. +Improve performance of :func:`os.path.join` and :func:`os.path.expanduser`. ..