[PATCH 0 of 1 ] Wrong distance calculation in revlog causes huge manifests
Noel Grandin
noel at peralex.com
Thu Jul 12 00:53:39 CDT 2012
On 2012-07-12 01:19, Matt Mackall wrote:
> Note that we intentionally do _a single read_ to pull in the entire
> span of deltas, including data we're skipping. This is important for
> performance on spinning media: reads are blocking and you have to wait
> for every read to complete before issuing another one.
If that's the case, perhaps we should be using async IO, so that we can
issue multiple reads at once, and then wait for them all to complete.
Given that all of the major OS's implement some variation of the
elevator algorithm for disk reads, that would give us the performance we
want without the memory overhead of reading extra data.
Disclaimer: http://www.peralex.com/disclaimer.html
More information about the Mercurial-devel
mailing list