sapling/eden/scm/edenscmnative/bindings
Durham Goode 63d19e1eca workers: bulk fetch data in worker thread
Summary:
During an hg update we first prefetch all the data, then write all the
data to disk. There are cases where the prefetched data is not available during
the writing phase, in which case we fall back to fetching the files one-by-one.
This has truly atrocious performance.

Let's allow the worker threads to check for missing data then do bulk fetching
of it. In the case where the cache was completely lost for some reason, this
would reduce the number of serial fetches by 100x.

Note, the background workers already spawn their own ssh connection's, so
they're already getting some level of parallelism even when they're doing 1-by-1
fetching. That's why we aren't seeing a 100x improvement in performance.

Reviewed By: xavierd

Differential Revision: D23766424

fbshipit-source-id: d88a1e55b1c21e9cea7e50fc6dbfd8a27bd97bb0
2020-09-21 11:27:12 -07:00
..
modules workers: bulk fetch data in worker thread 2020-09-21 11:27:12 -07:00
src bindings: add sleep for testing blocking Rust functions 2020-09-18 13:28:33 -07:00
Cargo.toml bindings: add pyhgmetrics to bind the hg-metrics crate 2020-09-09 17:35:48 -07:00
dirs.pyi begin adding some type stubs for the Rust Python bindings 2020-08-11 21:45:04 -07:00