[tahoe-dev] Against DARCS - using the patch cache

Brian Warner warner at lothar.com
Tue Oct 19 06:20:18 UTC 2010


> On 2010-10-18 3:32 PM, Brian Warner wrote:
>>     - darcs is slow, hard to publish branches, hard to use local
>>       branches,

Zooko just pointed me at the following tidbit:

 http://darcs.net/manual/Best_practices.html#SECTION00530000000000000000

to turn on the global patch cache. The version of darcs that I've been
using (2.1.0) does not happen to enable this by default, whereas newer
versions do. It makes a phenomenal improvement in speed. Cloning a new
tree (by "downloading" it: darcs get --lazy
http://tahoe-lafs.org/source/tahoe/trunk) now finishes in roughly *one
second*, because it's re-using patches that were fetched earlier and
stored in ~/.darcs . That's about 3x faster than Git (with a hot cache).

My other criticisms still stand, and I am still disappointed by the
speed of e.g. 'darcs whatsnew -l' and 'darcs diff', and the need to
create a new tree for each branch (and therefore to rebuild
dependencies). But the really painful delay of creating a new tree was
an artifact of an old version, and no longer an issue for me or anyone
else (who runs a modern version or learns how to enable the cache).

As for Darcs being in Haskell, the only problem there is popularity: few
people know the language, so the population of eligible authors and
improvers and maintainers for Darcs is smaller. Popularity of the
toolchain should never be the sole driver of technology choices (else
we'd all be using CVS on windows), but there are hazards to being *too*
far off the beaten path, and not being able to get darcs running on new
platforms (because GHC is too hard to build) is one of them.

cheers,
 -Brian




More information about the tahoe-dev mailing list