[WIP] lazy revlog index parsing

Greg Ward greg at gerg.ca
Fri Mar 16 21:10:24 CDT 2012


On 14 March 2012, Bryan O'Sullivan said:
> The current index parser is eager, and does a lot of unnecessary work on
> large revlogs.
> 
> This causes e.g. "hg tip" to take 0.3 seconds on a repo that contains
> 300,000 commits.

Argh, you beat me to it. I started hacking around on a readonly pure C
revlog library as a vacation project a couple of summers ago. It
stalled when I came back to the real world *sigh*. It's here, for the
record:

  http://hg.gerg.ca/xrevlog/

The good stuff's in

  http://hg.gerg.ca/xrevlog/file/default/lib/revlog.c

And now I have to go read up on radix trees... geez it's hard to keep
up around here. ;-)

        Greg
-- 
Greg Ward                                http://www.gerg.ca/
Quick!!  Act as if nothing has happened!


More information about the Mercurial-devel mailing list