[darcs-devel] patch index performance impact on add, record, amend, obliterate

Ganesh Sittampalam ganesh at earth.li
Sun Feb 24 22:39:39 UTC 2013


Hi,

On 24/02/2013 22:25, Guillaume Hoffmann wrote:
> I wrote a (write-only) script that measures the impact of patch index
> on medium-sized repositories (1000 patches).
> 
> Here's what the script successively does:
> 
> * generate 500 random files of 2 KBytes each, and an empty file named `foo`
> * add all of this as an first patch of an empty repository (1)
> * create 1000 successive patches, each one made of changing the
> contents of `foo` to a random line of 80 characters (2)
> * amend 100 times the last patch of the repository by changing the
> contents of `foo` to a random line of 80 characters (3)
> * obliterate the last 100 patches of the repository (4)

One useful variation on this would be to tag the repository every so
often, e.g. every 100 patches.

> The most worrying figures are those of record and amend. It would be
> really great if we could fix this by darcs 2.10, otherwise I fear
> that's going to be another feature we will have to disable by default.

I reported something along these lines at
http://bugs.darcs.net/issue2293, but then thought perhaps things were ok
after I got a faster hard drive in my laptop. This may not actually be
the case :-)

I started a discussion at
http://lists.osuosl.org/pipermail/darcs-devel/2013-January/014735.html
but it hasn't really gone anywhere yet.

Aditya and I were also discussing a different optimisation a week or two
ago, but the conclusion was that it was incorrect so we didn't pursue it.

Thanks for doing the systematic measuring/benchmarking!

Cheers,

Ganesh


More information about the darcs-devel mailing list