SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 1 Python

GH-113225: Speed up `pathlib.Path.walk(top_down=False)` (#113693)

Use `_make_child_entry()` rather than `_make_child_relpath()` to retrieve
path objects for directories to visit. This saves the allocation of one
path object per directory in user subclasses of `PathBase`, and avoids a
second loop.

This trick does not apply when walking top-down, because users can affect
the walk by modifying *dirnames* in-place.

A side effect of this change is that, in bottom-up mode, subdirectories of
each directory are visited in reverse order, and that this order doesn't
match that of the names in *dirnames*. I suspect this is fine as the
order is arbitrary anyway.
B
Barney Gale committed
1e610fb05fa4ba61a759b68461f1a9aed07622fc
Parent: 6313cdd
Committed by GitHub <noreply@github.com> on 1/20/2024, 3:06:00 AM