[PATCH 0 of 4] Parent Delta

Matt Mackall mpm at selenic.com
Tue Jun 22 11:45:13 CDT 2010


On Tue, 2010-06-22 at 13:01 +0530, Pradeepkumar Gayam wrote:
> Hi,
> 
> I have done little bit of hacking on revlog, this patch series contains the necessary changes for the implementation of parent delta. When I run the test suit, 10 tests failed because of obvious reasons. But performance has gone down drastically . I explained why performance has gone down in wiki [0]. So, I dont bother to rewrite every again here. I am pretty sure that I have to rewrite most of the code, but these patches work. 
> 
> Fourth patch is to find the minimal delta among p1, p2, rev-1. But it is no where near to implementation. It drags down the performance by 10x times.  

Ok, rev-1 deltas take 1x time by definitiion. If we only do p1 deltas,
does that have (10x - 1x)/2 = 4.5x time? Or more than that, because we
usually have only one parent?

If so: why?

Ideally parent delta calculation takes the same amount of time as rev-1
delta calculation. If not, something is wrong. So in the worst case
(where rev-1 != p1 != p2 and p2 != null), the minimum delta calculation
takes 3x. In the best case (and common case!), it takes 1x, because
rev-1 = p1 and p2 = null.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list