git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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?

Previous: Jeff KingNext: Jeff King
Message 9 of 10 in “Add new testcase to show that fast-export can squash merge commits”
  1. Add new testcase to show that fast-export can squash merge commitsnewren@gmail.com, Feb 11, 2009
  2. fast-export: ensure we traverse commits in topological ordernewren@gmail.com, Feb 11, 2009
  3. Johannes SchindelinFeb 11, 2009
  4. Mike RalphsonFeb 11, 2009
  5. Johannes SchindelinFeb 11, 2009
  6. Jeff KingFeb 11, 2009
  7. Johannes SchindelinFeb 11, 2009
  8. Jeff KingFeb 11, 2009
  9. Elijah NewrenFeb 11, 2009
  10. Jeff KingFeb 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.