I've been using the darcs 2.10.1 binary available for OS X, but I
recently tried 2.12.5 and whatsnew -l is much slower. E.g.:
% time ~src/hs/darcs-2.12.5/dist/build/Darcs/darcs w -l
...
~src/hs/darcs-2.12.5/dist/build/Darcs/darcs w -l 2.48s user 0.47s
system 101% cpu 2.909 total
% time darcs w -l
...
darcs w -l 0.13s user 0.04s system 96% cpu 0.181 total
Restricting to a single file, e.g. 'darcs w -l X' is still very slow.
Without -l, both old and new are fast. This is on a medium sized
repo:
% darcs show repo
Format: hashed, darcs-2
Root: /Users/elaforge/src/seq/main
Pristine: HashedPristine
Cache: thisrepo:/Users/elaforge/src/seq/main,
cache:/Users/elaforge/Library/Caches/darcs, repo:hub.darcs.net:karya
boringfile Pref: boring
Default Remote: hub.darcs.net:karya
Num Patches: 5692
The slowdown is also visible in the linux version. On linux, I tried
running with strace, and it seems to be constantly running
mkdir("..cache/patches"), stat(".../.cache/patches"), then
link("_darcs/patches/...", ".cache/patches") -> EEXIST, repeating for
many different patches. It doesn't seem to get stuck at any time,
just be processing lots of patches. wc on the strace output shows
130k lines. So maybe that's related?
Anyone else see this?
|