Version control systems
Simon Marlow
marlowsd at gmail.com
Thu Aug 14 03:43:14 EDT 2008
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
More information about the Glasgow-haskell-users
mailing list