sapling/eden/mononoke/derived_data/utils
Mark Juggurnauth-Thomas 33ec4db653 bounded_traversal: require futures to be boxed
Summary:
Bounded traversal's internal book-keeping moves the futures returned from fold and unfold callbacks around while they are being queued to be scheduled.  If these futures are large, then this can result in a significant portion of bounded traversal's CPU time being spent on `memcpy`ing these futures around.

This can be prevented by always boxing the futures that are returned to bounded traversal.  Make this a requirement by changing the type from `impl Future<...>` to `BoxFuture<...>`.

Reviewed By: mitrandir77

Differential Revision: D26997706

fbshipit-source-id: 23a3583adc23c4e7d3607a78e82fc9d1056691c3
2021-03-12 08:12:57 -08:00
..
Cargo.toml bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
lib.rs bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00