All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Lehmann <Jens.Lehmann@web.de>
To: git@vger.kernel.org
Cc: Jens Lehmann <Jens.Lehmann@web.de>,
	Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
	git-dev@github.com, Martin Fick <mfick@codeaurora.org>
Subject: Re: [PATCH] fetch: avoid quadratic loop checking for updated submodules
Date: Wed, 14 Sep 2011 20:26:05 +0200	[thread overview]
Message-ID: <4E70F1BD.70804@web.de> (raw)
In-Reply-To: <4E6FB05C.6010202@web.de>

Am 13.09.2011 21:34, schrieb Jens Lehmann:
> Am 12.09.2011 22:21, schrieb Junio C Hamano:
>> Jeff King <peff@peff.net> writes:
>>
>>> Instead, this patch structures the code like this:
>>
>> Yup, I agree that's the right way to do the other half of the issue.
> 
> Ack from me too! I tested it on the repo with 3k refs and the time went
> down from 142s to 1s (when applied to 3793ac56b4, as later versions of
> master contain my other half which would skip Peff's code).
> 
> On current master including my other half this takes 0.90s, while running
> with Peff's code on top of 3793ac56b4 it takes .96s. That is 6 hundreds
> of a second (7%) extra for not having to worry if one must run "git fetch
> --recurse-submodules" or not.

Just for the record: Martin Fick was so kind to run Peff's fix (without my
half) on his 100k refs repo that showed this regression. Here are the results
of some test runs:

 1.7.7.rc0.189.gab72a

    10m8.133s  9m7.971s  8m16.600s 13m57.821s
     8m34.974s 8m41.527s


 1.7.7.rc0.189.gab72a  --no-recurse-submodules

    10m43.833s  7m41.283s 8m17.889s  8m4.549s
    8m12.668s  7m59.180s

The fastest runs are 8% apart, which is pretty much the same slowdown as in
the 3k ref repo. Looks like we do have O(n) now :-)

  reply	other threads:[~2011-09-14 18:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-12 19:56 [PATCH] fetch: avoid quadratic loop checking for updated submodules Jeff King
2011-09-12 20:21 ` Junio C Hamano
2011-09-13 19:34   ` Jens Lehmann
2011-09-14 18:26     ` Jens Lehmann [this message]
2011-09-12 21:25 ` Junio C Hamano
2011-09-12 22:49   ` Jeff King
2011-09-12 23:06     ` Junio C Hamano
2011-09-12 23:25       ` Jeff King
2011-09-12 23:33     ` Junio C Hamano
2011-09-13 19:13     ` Jens Lehmann
2011-09-13 22:17       ` Jeff King
2011-09-14 13:20         ` Marc Branchaud
2011-09-14 18:27         ` Jens Lehmann
2011-09-14 18:29           ` Jeff King
2011-09-13 16:40 ` Christian Couder
2011-09-13 17:15   ` Jeff King
2011-09-13 17:34     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E70F1BD.70804@web.de \
    --to=jens.lehmann@web.de \
    --cc=git-dev@github.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mfick@codeaurora.org \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.