sapling/eden/mononoke/derived_data
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
..
blame vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
changeset_info mononoke_types: use SortedVectorMap for BonsaiChangeset 2021-03-11 04:28:43 -08:00
deleted_files_manifest bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
fastlog benchmark: rename to benchmarks/simulated_repo 2021-03-11 04:28:42 -08:00
filenodes vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
fsnodes vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
mercurial_derived_data mononoke: add an option to record committer fields in hg extras 2021-03-10 23:41:28 -08:00
skeleton_manifest vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
src bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
test_utils bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
unodes mononoke_types: use SortedVectorMap for BonsaiChangeset 2021-03-11 04:28:43 -08:00
utils bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
Cargo.toml vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00