Re: [PATCH] fast-export: ensure we traverse commits in topological order
- From
Elijah Newren <newren@gmail.com>
- Date
- Feb 11, 2009, 15:23 UTC
- Message-ID
- <51419b2c0902110723y75d0c4a4r34cf92cf371313ea@mail.gmail.com>
- In-Reply-To
- <20090211135640.GA19600@coredump.intra.peff.net>
On Wed, Feb 11, 2009 at 6:56 AM, Jeff King <peff@peff.net> wrote:
Show 27 quoted lines
> On Wed, Feb 11, 2009 at 10:48:18AM +0000, Mike Ralphson wrote: > >> > On Tue, 10 Feb 2009, newren@gmail.com wrote: >> > fast-export will only list as parents those commits which have already >> > been traversed (making it appear as if merges have been squashed if not >> > all parents have been traversed). To avoid this silent squashing of >> > merge commits, we request commits in topological order. >> >> Any comparative timings? We don't need to rename this to 'git >> reasonably-speedy-export'? 8-) > > Hmm. > > In git.git: > > $ time git fast-export --all --signed-tags=strip >/dev/null > real 1m6.013s > user 1m3.840s > sys 0m2.140s > > $ time git fast-export --all --signed-tags=strip --topo-order >/dev/null > real 0m49.018s > user 0m47.987s > sys 0m0.888s > > I certainly didn't expect it to be _faster_. More efficient use of the > delta cache, maybe?
Yeah, I also saw a speed-up, though the difference was less pronounced -- 19.7 seconds versus 19.5 (that was the average for 5 runs, after first doing a run that I ignored to make sure I was comparing hot-cache to hot-cache).
I'm a little surprised why my numbers were so much lower than yours, though. I don't think of my hard drive and CPU as being all that quick -- is this a difference in packing, by chance, with your repository not having recently been repacked?