From: "Shawn O. Pearce" <spearce@spearce.org>
To: Tim Allen <tim@commsecure.com.au>
Cc: git@vger.kernel.org
Subject: Re: Git performance problems with many tags
Date: Mon, 26 Mar 2007 02:07:31 -0400 [thread overview]
Message-ID: <20070326060731.GF13247@spearce.org> (raw)
In-Reply-To: <20070326045341.GE10545@ws35.commsecure.com.au>
Tim Allen <tim@commsecure.com.au> wrote:
> However, operations like 'git-fetch' take much, much longer in our
> repository than in the kernel repository: a git-fetch that pulls no
> updates in the kernel repository takes 1.7s, while our repository
> (fetching from one repository to a clone on the same local disk) takes
> about 20 seconds. After some experimentation, we discovered that
> deleting all the 5557 imported CVS tags made things fast again.
Yes. git-fetch in the current stable versions is a Bourne shell
script. Its not very fast as it loops through the refs (tags)
that the two ends have.
There is work in under development (and being tested) that improves
this by converting some of the critical parts to C.
> (Interestingly, "git-fetch --no-tags" was not appreciably quicker, while
> the tags were still around)
Yes, because that swtich didn't bypass that section of the fetch code
where the slowdown is occuring.
> Does git have known scalability problems with large numbers of tags?
Yup.
> Is
> there anything we can do to mitigate this slowdown, apart from just not
> using git's tag feature at all?
Upgrade to the upcoming 1.5.1 release. Junio recently tagged
1.5.1-rc1. You can get it by cloning git.git and building the
'master' branch. It is quite stable. I would encourage you to
give it a try.
--
Shawn.
next prev parent reply other threads:[~2007-03-26 6:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-26 4:53 Git performance problems with many tags Tim Allen
2007-03-26 6:07 ` Shawn O. Pearce [this message]
2007-03-26 6:13 ` 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=20070326060731.GF13247@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=tim@commsecure.com.au \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox