whatsnew -l much slower in darcs 2.12.5

Evan Laforge <[email protected]>
Newsgroups gmane.comp.version-control.darcs.user
Message-ID <CACbaDy4o-f52Ut6csOxe90gkvRGcTg44w00VXM6Yeuy+nkbHwQ@mail.gmail.com>
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?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.