[PATCH 3 of 3] revlog: read index data using mmap

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Oct 4 12:28:54 EDT 2016



On 10/04/2016 04:59 PM, Jun Wu wrote:
> # HG changeset patch
> # User Jun Wu <quark at fb.com>
> # Date 1475550701 -3600
> #      Tue Oct 04 04:11:41 2016 +0100
> # Node ID 99e7b0589b916b83d825882e907dd79082f4a2d7
> # Parent  5ebdfd4ffbedbfe66b7a36cbd06b1e8e624ae7ad
> # Available At https://bitbucket.org/quark-zju/hg-draft
> #              hg pull https://bitbucket.org/quark-zju/hg-draft -r 99e7b0589b91
> revlog: read index data using mmap
>
> Revlog indexes are suppose to be small but they can be not-so-small for
> large repos, where the time needed to read the revlog index is not
> negligible. This patch makes it use mmap to read the content. It has visible
> performance improvement for large repos.

Can we get some number for small and large repository here ?

I remember Matt making arguments against the use of mmap in multiple 
occurrence in the past. I can find the details again, but I think this 
was about the amount of kernel roundtrip involved compared to a plain read.

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list