Duncan Coutts wrote:

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).

Yes, I was aware of the #2093 problem (someone else pointed it out to me earlier), but it's not the cause of the slow whatsnew I'm seeing: my darcs is compiled with 6.8.3.

~/darcs/ghc-testing/testsuite-hashed > darcs +RTS --info
 [("GHC RTS", "Yes")
 ,("GHC version", "6.8.3")
 ,("RTS way", "rts_thr")
 ,("Host platform", "x86_64-unknown-linux")
 ,("Build platform", "x86_64-unknown-linux")
 ,("Target platform", "x86_64-unknown-linux")
 ,("Compiler unregisterised", "NO")
 ,("Tables next to code", "YES")
 ]
~/darcs/ghc-testing/testsuite-hashed > time darcs wh
No changes!
[2]    15793 exit 1     darcs wh
21.35s real   9.56s user   4.28s system   64% darcs wh
~/darcs/ghc-testing/testsuite-hashed > darcs --version
2.0.1rc2 (2.0.1rc2 (+ -1 patch))
~/darcs/ghc-testing/testsuite-hashed > darcs query repo
          Type: darcs
        Format: hashed
          Root: /home/simonmar/darcs-all/work/ghc-testing/testsuite-hashed
      Pristine: HashedPristine
Cache: thisrepo:/home/simonmar/darcs-all/work/ghc-testing/testsuite-hashed
boringfile Pref: .darcs-boring
Default Remote: /home/simonmar/darcs-all/work/ghc-testing/testsuite
   Num Patches: 2834

It's better on the darcs-2 version of the repo:

~/darcs/ghc-testing/testsuite-hashed2 > darcs query repo
          Type: darcs
        Format: hashed, darcs-2
          Root: /home/simonmar/darcs-all/work/ghc-testing/testsuite-hashed2
      Pristine: HashedPristine
Cache: thisrepo:/home/simonmar/darcs-all/work/ghc-testing/testsuite-hashed2
   Num Patches: 2834
~/darcs/ghc-testing/testsuite-hashed2 > time darcs wh
No changes!
[2]    15824 exit 1     darcs wh
3.69s real   1.08s user   0.53s system   43% darcs wh

Better, but still a factor of ~4 slower than on the darcs-1 repo.

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"

Nope, I'm not using that repo, these were ones I created freshly yesterday.

I will try building a fresh darcs to see if that helps.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to