[PATCH] revised manifest speedups

Matt Mackall mpm at selenic.com
Fri Aug 26 13:52:50 CDT 2005


On Wed, Aug 24, 2005 at 11:04:36AM -0400, Chris Mason wrote:
> Hello everyone,
> 
> Last night I reworked my latest manifest speedups to use the python array 
> type instead of my nlbuf extension.  I think the code is much less complex 
> now, and this patch is only 3 or 4 seconds slower than my C extension was.
> 
> The algorithm is still based on bisect.  The basic idea is to forget about 
> maintaining a line based representation of the manifest and store it 
> all in a big char array.  The manifestsearch function does the heavy
> lifting of finding offsets into the buffer for delta generation.

Does your bisection remember where the last insert/delete was and
narrow the search? Do you sort the insert/delete list?
 
> This has been through light testing here.  Matt, if it seems reasonable, I'll
> hammer on it.

Looks promising. I'll probably want the compress bit separately.

-- 
Mathematics is the supreme nostalgia of our time.


More information about the Mercurial mailing list