On 05/11/2016 01:51 PM, Ethan Furman wrote: > On 05/11/2016 01:44 PM, Serhiy Storchaka wrote: >>> os.path >>> ''''''' >>> >>> The various path-manipulation functions of ``os.path`` [#os-path]_ >>> will be updated to accept path objects. For polymorphic functions that >>> accept both bytes and strings, they will be updated to simply use >>> code very much similar to >>> ``path.__fspath__() if hasattr(path, '__fspath__') else path``. This >>> will allow for their pre-existing type-checking code to continue to >>> function. >> >> I afraid that this will hit a performance. Some os.path functions are >> used in tight loops, they are hard optimized, and adding support of path >> protocol can have visible negative effect. > > Do you have an example of os.path functions being used in a tight loop? Also, the C code for fspath can check types first and take the fast path if bytes/str are passed in, only falling back to the __fspath__ protocol if something else was passed in -- which should make any performance hits negligible. -- ~Ethan~
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4