Serhiy Storchaka added the comment: Proposed patch adds support for file descriptors in os.scandir() and implements os.fwalk() with os.scandir().
The effect of using os.scandir() in os.fwalk(): $ ./python -m timeit -n1 -r5 -s 'import os' -- 'list(os.walk("/usr/lib"))' 1 loop, best of 5: 934 msec per loop $ ./python -m timeit -n1 -r5 -s 'import os' -- 'list(os.walk("/usr/lib", topdown=False))' 1 loop, best of 5: 718 msec per loop $ ./python -m timeit -n1 -r5 -s 'import os' -- 'list(os.fwalk("/usr/lib"))' Unpatched: 1 loops, best of 5: 1.78 sec per loop Patched: 1 loop, best of 5: 934 msec per loop $ ./python -m timeit -n1 -r5 -s 'import os' -- 'list(os.fwalk("/usr/lib", topdown=False))' Unpatched: 1 loops, best of 5: 1.76 sec per loop Patched: 1 loop, best of 5: 947 msec per loop ---------- keywords: +patch stage: -> patch review versions: +Python 3.7 -Python 3.6 Added file: http://bugs.python.org/file45377/os-scandir-fd.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25996> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com