[darcs-users] [Haskell-cafe] Re: poll: how can we help you contribute to darcs?

Alberto Bertogli albertito at blitiri.com.ar
Thu Aug 7 02:35:44 UTC 2008


On Wed, Aug 06, 2008 at 06:35:39PM -0700, Jason Dagit wrote:
> On Wed, Aug 6, 2008 at 5:47 PM, Anatoly Yakovenko <aeyakovenko at gmail.com>wrote:
> > I would gladly contribute to darcs if I could use it.  And I would use
> > it if it was fast (at worst twice as slow as git) and stable for the
> > simple things that i want to do.  So this is a chicken and egg problem
> > for me.
> 
> Interesting.  Is your experience with darcs just with the GHC repository?
> Except for the darcs1 exponential merge problem, I would be surprised if
> darcs2 repositories are more than twice as slow as git for common
> operations.

I don't want this to turn into "I'm faster/easier/whatever than you",
and personally I don't think the speed is the issue with small
repositories; but since you asked, and I've _just_ got into a situation
like this...

While tracking a darcsweb issue that was posted to the darcs-users list
(and it seems to be a darcs bug), I noticed that getting a diff for a
given patch felt slow.

So when I saw your mail, I decided to make a quick comparison on the
time it took to get a diff (in each SCM native format, so nobody had to
play any conversion tricks.)

A cache-hot 'darcs changes -v --match "hash \
	20080806124109-2067a-217fcccd6ce7becfb9a07f10e6c4a29cb00805f5.gz"'
on a freshly-cloned darcs' repository takes 0.162s with and without
colors.

A cache-hot 'git show 0ce3a7e5bd305e96c924fab1e3126480c665f017' on the
linux kernel repository takes 0.012s with nice coloring, 0.010s without.


That's easy math: 16 times slower (since darcs doesn't color the diff
but only the word "hunk", I think it's fair to use the 0.010s number).

Yes, 0.16s may not seem like a lot to you, but when you're used to it
taking 0.01s, you notice.


If you are really interested in a serious time comparison you can use
tailor to convert from darcs to git (I've used it on several repos and
it worked fine) and then compare the results for the common operations.
(I know you know this, I'm just saying it in case anyone else is
interested in doing the comparison and doesn't know about tailor).

Thanks,
		Alberto



More information about the darcs-users mailing list