announcing darcs 2.0.0pre1, the first prerelease for darcs 2
simonmarhaskell at gmail.com
Fri Dec 14 05:04:57 EST 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 Cvs-ghc