Version control systems

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Wed Aug 13 17:49:42 EDT 2008


On Mon, 2008-08-11 at 13:57 +0100, Simon Marlow wrote:
>   - Performance.  darcs2 regressed in performance for many operations we
>     commonly use.  I've submitted some measurements for some things, but
>     it's pretty easy to find your own test cases: things like "darcs add",
>     "darcs whatsnew", "darcs unrecord" are all slower than darcs 1.  When
>     simple operations take multiple seconds to complete, it really slows
>     down your workflow.

Turns out that the reason for slow darcs whatsnew is ghc bug #2093

http://hackage.haskell.org/trac/ghc/ticket/2093

because getSymbolicLinkStatus is broken on 32bit systems in 6.8.2 it
means that the 'stat' optimisation does not work so darcs has to read
the actual contents of many files. Obviously that's very slow,
especially over nfs. That explains why it worked for me in 0.2 seconds
but for you took several seconds user time and (even more real time due
to nfs).

If you were using http://darcs.haskell.org/ghc-hashedrepo/ then there's
a further explanation. According to the darcs devs that repo is:
        "in some weird intermediate (not final) hashed format that
        doesn't keep (original) filesizes in filenames. So in effect,
        it's running like with --ignore-times still"

So I suggest we get rid of that old repo so as not to further the
confusion.

Duncan



More information about the Glasgow-haskell-users mailing list