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
