[darcs-devel] announcing darcs 2.0.0pre1, the first prerelease for darcs 2

Simon Marlow simonmarhaskell at gmail.com
Fri Dec 14 10:04:57 UTC 2007

David Roundy wrote:
> On Wed, Dec 12, 2007 at 01:45:13PM +0000, Simon Marlow wrote:
>> "darcs changes" seems to have a big performance regression:
>> $ time darcs2 changes --last=10 >/dev/null
>> I killed it after 3 minutes of CPU time and the process had grown to 1.4Gb. 
>>   darcs1 does this in 0.05 seconds using 2Mb.  Perhaps the repository is 
>> corrupted somehow?
> Okay, it turns out that it was indeed bad strictness causing the trouble.
> For some reason, I had made the PatchInfoAnd data type strict in both its
> components, which meant that every time we read a patch ID, we also needed
> to parse the patch itself.  Very foolish.  There may be some further
> regressions (I'm still running an optimize with profiling enabled.  But
> darcs changes --last 10 (with profiling running) now takes me just a bit
> over a minute, and not too much memory (I don't quite recall).

Ok, that is certainly an improvement:

  $ time darcs2 cha --last=10
  60.60s real   59.83s user   0.21s system   99% darcs2 cha --last=10

But this is still 1000 times slower than darcs1 for the same operation. 
Doesn't darcs changes just dump the contents of the inventory?


More information about the darcs-devel mailing list