summaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2025-01-28 16:23:44 -0500
committerEli Schwartz <eschwartz93@gmail.com>2025-03-09 15:29:42 -0400
commitf8530da1fea055f5fcd3224108add1256c3c9ea2 (patch)
treea766ea3e827435c0f23a902d52b2e5b5b4f36c93 /mesonbuild/backend
parent88fbd177c45ed4c92ffb7c8a0eab8204476d5c92 (diff)
downloadmeson-f8530da1fea055f5fcd3224108add1256c3c9ea2.tar.gz
Optimize canonicalize_filename
Using str.split is faster than Path.parts
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/backends.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 9326127e6..1e5c00803 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -829,7 +829,9 @@ class Backend:
@staticmethod
@lru_cache(maxsize=None)
def canonicalize_filename(fname: str) -> str:
- parts = Path(fname).parts
+ if os.path.altsep is not None:
+ fname = fname.replace(os.path.altsep, os.path.sep)
+ parts = fname.split(os.path.sep)
hashed = ''
if len(parts) > 5:
temp = '/'.join(parts[-5:])