sapling/eden/mononoke/repo_client
Thomas Orozco 149e15f2ad mononoke: use spawn_future in getpack to fetch history
Summary:
The former implementation would eagerly query Memcache when fetching history
(due to how old futures work) for files in getpack, but the new one does not.
This means the new one loses out on a lot of buffering, which the old one used
to do.

This diff emulates the old behavior by eagerly querying filenodes in getpack,
which improves performance on a very big getpack (32K files) by about 3x, and
makes it 30% faster than the old code, instead of > 2x slower.

Note that I'm not certain we really want to do this kind of aggressive
buffering in getpack long term, but for now, I'd like to keep this unchanged.

Reviewed By: StanislavGlebik

Differential Revision: D19905398

fbshipit-source-id: 49f9a2cd505a98123fd1dabb835e8e378d45c930
2020-02-27 12:34:21 -08:00
..
getbundle_response/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
mononoke_repo/src Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
obsolete/src Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
remotefilelog/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
repo_read_write_status/src mononoke (+ rust/shed/async_unit): update async_unit to expect async fn's 2020-02-18 01:55:00 -08:00
schemas Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
scribe_commit_queue/src Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
src mononoke: use spawn_future in getpack to fetch history 2020-02-27 12:34:21 -08:00
streaming_clone/src Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00
unbundle/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
wirepack/src Manual synchronization of fbcode/eden and facebookexperimental/eden 2020-02-11 11:42:43 +01:00