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