[Python-Dev] file system path protocol PEP
Ethan Furman
ethan at stoneleaf.us
Wed May 11 17:15:37 EDT 2016
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~
More information about the Python-Dev
mailing list