[darcs-users] performance regression in check/repair

Eric Kow kowey at darcs.net
Fri Jan 15 17:13:06 UTC 2010

On Fri, Jan 15, 2010 at 06:42:13 -0800, Jason Dagit wrote:
> Here are numbers that include 2.2.1 and 2.2.0 (someone mentioned 2.3 might
> have been slower than 2.2).

Thanks!  Looking in our NEWS file and darcs changes output, I think the
story goes like this:

1. For Darcs 2.0.3, Petr fixed issue971 by making darcs repair always
   used a hashed pristine.  This introduced a huge memory regression...

2. ... that he worked on a bit in Darcs 2.2

3. ... and that Bertram Felgenhauer finally fixed in Darcs 2.3

4. But somehow, we've introduced a new performance regression in the
   replay code for Darcs 2.4.  Notice how this time, it's time that
   jumps up.

I'm going to snip the most interesting bits to me here...

> === darcs ===
>                 ||  darcs-2.2.1        | darcs-2.3.1       |  darcs
> ================++=====================+===================+===============
>           check ||        11.7s 183.0M |       11.0s 55.0M |  42.4s 258.0M
>          repair ||        11.8s 183.0M |       11.1s 55.0M |  44.2s 272.0M

> === ghc-hashed ===
>                 ||  darcs-2.2.1         | darcs-2.3.1        |   darcs
> ================++======================+====================+===============
>           check ||       172.3s 1210.0M |      160.5s 146.0M |       -      -
>          repair ||       173.0s 1287.0M |      127.7s 146.0M | 1190.6s 355.0M

Oh well, so Darcs 2.0.3 was a step forward in robustness but backwards
in performance; Darcs 2.3 made repair reasonable again and Darcs 2.4
regressed a bit in the performance.  Not the highest priority, but worth
looking into after the release.

One day, this benchmarking stuff will be automated, statistically
informed, institutionalised... but it looks like it's starting to pay
off! (and that we're starting to hit the limits of our ability to
remember history -- maybe that's a good sign?)

>                 || darcs-2.2.0        | darcs-2.2.1        | darcs-2.3.1       |  darcs

Yeah, we should adopt a convention of what order we put these in.
I guess the left-to-right order, while less convenient is the most
intuitive.  I don't really mind either way; let's just pick one!


Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20100115/d1f4e386/attachment.pgp>

More information about the darcs-users mailing list