-
-
Notifications
You must be signed in to change notification settings - Fork 32.5k
Closed as not planned
Labels
performancePerformance or resource usagePerformance or resource usagestdlibPython modules in the Lib dirPython modules in the Lib dirtype-featureA feature request or enhancementA feature request or enhancement
Description
Feature or enhancement
Proposal:
Python function calls are always expensive. We can replace all _get_sep()
& _get_bothseps()
calls in os.path
with ternary operators, merging with existing isinstance()
checks where applicable. e.g:
-seps = _get_bothseps(p)
+seps = b'\\/' if isinstance(p, bytes) else '\\/'
Also, in posixpath.expanduser()
we can replace root
with the already assigned sep
from earlier:
if isinstance(path, bytes):
userhome = os.fsencode(userhome)
- root = b'/'
-else:
- root = '/'
-userhome = userhome.rstrip(root)
-return (userhome + path[i:]) or root
+userhome = userhome.rstrip(sep)
+return (userhome + path[i:]) or sep
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
Linked PRs
Metadata
Metadata
Assignees
Labels
performancePerformance or resource usagePerformance or resource usagestdlibPython modules in the Lib dirPython modules in the Lib dirtype-featureA feature request or enhancementA feature request or enhancement