Good riddance to the lazy index!

Benoit Boissinot bboissin at gmail.com
Sat Jan 15 10:12:13 CST 2011


On Wed, Jan 12, 2011 at 6:55 PM, Matt Mackall <mpm at selenic.com> wrote:
> ** You'll need to rebuild your extensions **
>
> I've just pushed some changes that get rid of the lazy index (that ugly
> mass of code at the start of revlog.py) and delay building the nodemap.
> As part of this, I've made searching for single nodes use a linear
> search back from tip when the nodemap isn't available. This gives a
> substantial improvement on a repo with 220k revisions:
>
>                  old    new
> tip              .647   .519
> parents          .726   .566   <- very close to tip
> log -r ab6eb0   2.108   .650   <- 70k revisions away from tip
> log -r c0ffee   2.069   .773   <- non-existent revision
> perfindex        .584   .266   <- building the nodemap is expensive

As you said on IRC, this makes verify a lot slower (same for hgtk,
probably for the same reasons).
You said you fixed it. I assume it's not yet pushed, but does it fix
it for just verify (for example by forcing a preload of the nodemap)
or is it more generic and it will work for hgtk.

Cheers,

Benoit


More information about the Mercurial-devel mailing list