On Mon, 2008-08-11 at 14:29 +0200, Thomas Schilling wrote: > On 11 Aug 2008, at 13:00, Duncan Coutts wrote: > > It's not clear to me that we've really bothered to find out. The last > > evaluation in relation to ghc that I'm aware of was prior to the 2.0 > > release. My impression is that we've all complained about the darcs v1 > > problems (justly) but spent the most effort investigating things other > > than darcs v2 which would be the easiest to upgrade to and not have > > the > > problems of using two different systems for ghc vs other libs. > > I converted the ghc repo to darcs2 (locally): > > Getting file local history: > > * darcs changes --last 20 compiler/main/HscTypes.lhs > > very quick but prints only two patches > > * darcs changes compiler/hsSyn/HsTypes.lhs > > 1m22s (16s for the second time)
Interesting that you get so much variance between runs. I get 32s user time first time and 30s the second. In this test darcs 2 is faster that darcs 1 on v1 format repos and darcs 2 is faster on v2 format repos than on v1 format, though only by a few seconds. At a guess, the issue here is that darcs is not indexing those changes per-file, which is why --last 20 doesn't give the last 20 for that file and why asking for all changes takes so long. Perhaps if it did cache this info per-file it'd help with annotate too. > Git <1s > > * darcs get ghc2 ghc-test (creating a *local* branch) > > real 13m25.365s > user 0m14.677s > sys 0m29.541s > > (at least it seems it actually worked, though) That's an order of magnitude different to what I see: $ time darcs2 get ghc2 ghc-test Copying patches, to get lazy repository hit ctrl-C... Finished getting. real 0m21.428s user 0m11.221s sys 0m1.380s Note that this is much faster in the darcs v2 format than darcs 2 using the darcs v1 format: $ time darcs2 get ghc ghc-test1 Finished getting. real 1m51.959s user 1m15.449s sys 0m11.877s However darcs v1 is faster still: $ time darcs1 get ghc ghc-test1_ Copying patch 19084 of 19084... done. Finished getting. real 0m8.851s user 0m3.668s sys 0m0.708s It doesn't seem to spend any time applying the patches, unlike what darcs 2 is doing for v1 or v2 formats. Though in any case, one doesn't need to darcs get locally since one can use cp -a right? > git clone ghc g2 (the slow method of creating a local branch) > > real 0m6.742s > user 0m0.335s > sys 0m0.652s > > * I haven't tested a remote pull yet. At 80 Kb/s, it should take > about 15min to clone via Git (70 MB). A test of darcs would be > interesting. We'll be testing this for the code.h.o conversion. We'll keep you posted. Duncan _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users