Early numbers on multi-parent diffs

John Arbash Meinel john at arbash-meinel.com
Wed Apr 11 15:41:11 BST 2007


Aaron Bentley wrote:
> Aaron Bentley wrote:
>> I've written an implementation of multi-parent diffs, and early numbers
>> do show significant space wins.
> 
> More news: they're also fast on read.  I implemented a non-naive text
> regeneration routine, and it can regenerate a revision of NEWS 1000
> times in  1.81 seconds.  This compares with KnitVersionedFile, which
> takes 20.69 seconds, with caching enabled.  (i.e. 11x slower).
> 
> (The particular revision is
> john at arbash-meinel.com-20070411012920-wnp7rnqdwe13xmhx)
> 
> It is still not a fair comparison, because the new code doesn't (can't!)
> deserialize any diffs as part of the process.  But with knit caching on,
> the knit shouldn't be hitting disk either.
> 
> Still, I think these numbers show that MultiParent diffing is
> unlikely to slow us down, and that this implementation is quite likely
> to speed us up.
> 
> As before, the code is at
> http://code.aaronbentley.com/bzr/mpknit/
> 
> Aaron

I know our current knit code is pretty sub-optimal about extracting
texts. Partially because it tries to optimize for the (uncommon) case of
extracting multiple texts at the same time.

I'm curious what your timings would be if you did a similar work on a
regular knit.

But still, its looking good.

John
=:->



More information about the bazaar mailing list