sapling/edenscmnative
Arun Kulshreshtha c48652ad4b manifest: walk manifest in breadth-first order
Summary:
Change the `Files` iterator in the Rust manifest code to traverse the tree in BFS order, allowing for layer-by-layer prefetching similar to `Diff`. This can substantially speed up walks over the tree when the cache is cold.

As a side-effect, this changes the order in which paths are reported during a manifest walk. (In particular, they are now reported in breadth-first order rather than depth-first order.) This may break things that rely on the existing ordering; as such, we may need to add a sort somewhere if this turns out to be a problem.

Reviewed By: xavierd

Differential Revision: D17645389

fbshipit-source-id: 624e426094a93e206bde4523ea8bd034fe5aeb90
2019-09-30 17:04:43 -07:00
..
bindings manifest: walk manifest in breadth-first order 2019-09-30 17:04:43 -07:00
__init__.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
clindex.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
linelog.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
litemmap.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
patchrmdir.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
traceprof.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00