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~

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to