Simon Marlow <[email protected]> writes:
> I tried this, and it worked!  Nice going.
Thanks!

> Did a quick comparison between my installed 2.2.0 and 2.3-beta on my laptop,
> where I'm using hashed repositories.  On a GHC repository with lots of local
> changes, whatsnew went from 0.26 seconds to 0.22 seconds. On a GHC testsuite
> repository with zero changes, whatsnew went from 1.1s to 0.06 seconds (cool!).
Yes, the textual diffing code is basically the same, so as soon as textual diff
becomes the bottleneck, hashed-storage won't help.

> On this machine with hashed repositories I often suffer from the problem
> whereby darcs seems to randomly forget about timestamps, causing it to take
> ages in whatsnew and other operations.  So I take it this problem is partially
> fixed in 2.3?  Is there any way around it?
Yes, for whatsnew, this is no longer an issue. The problem of course happens
whenever darcs needs to diff working copy against pristine: a number of
commands does this (I have already replaced all such code in darcs-hs, but it's
not deemed safe enough for the 2.3 release).

The origin of the problem (as far as I can tell) is, that as soon as you have
more than a single branch of a darcs project, darcs will use hardlinking for
pristine files. Now because the timestamp feature copies timestamps from
working copy to the pristine cache, and because the two branches will generally
have timestamps totally different from each other, these two branches will
"fight" for the pristine timestamps. The only way I can think of to prevent
this is not to use hardlinks at all. However, darcs 2.3 will fix the problem
for at least whatsnew, and 2.4 should fix it for good. (Alas, we may choose to
make 2.4 sooner than 6 months from 2.3, especially if the code turns out to be
reliable.)

Yours,
   Petr.

-- 
Petr Ročkai | http://web.mornfall.net
A physicist is an atom's way of knowing about atoms. (George Wald)
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to