From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Bryan Turner <bturner@atlassian.com>,
Pol Online <info@pol-online.net>, Git Users <git@vger.kernel.org>
Subject: Re: git status / git diff -C not detecting file copy
Date: Wed, 03 Dec 2014 08:01:34 -0800 [thread overview]
Message-ID: <xmqqa934lo2p.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20141202200910.GB23461@peff.net> (Jeff King's message of "Tue, 2 Dec 2014 15:09:11 -0500")
Jeff King <peff@peff.net> writes:
> I find that git.git is often a useful and easy thing to time to
> extrapolate to other projects. It's 1/10th-1/20th the size of the kernel
> (both in tree size and commit depth), which I do consider a "big
> project" (and I have a feeling is what Linus was talking about).
>
> Of course, performance numbers do not always scale linearly with repo
> size.
> ...
> What does impact it is the _size_ of each commit. If you quite
> frequently add a new file while touching tens of thousands of other
> files, then the performance will be a lot more noticeable. And both
> git.git and linux.git are probably better than some other projects about
> having small commits.
Yes, the number of paths touched per-commit in git.git may not be
typical. If it is unusually lower, that would skew the result, as
the cost of rename detection is proportional to it, and the cost of
-C -C is that number times the number of total paths in the project.
> Still, though. I stand by my earlier conclusions. Even with commits ten
> times as large as the kernel's, you are talking about 3ms added to a
> "status" run (and again, only when you hit such a gigantic commit _and_
> it has an 'A' file).
>
>> It is a fine idea to make this configurable ("status.renames = -C"
>> or something, perhaps?), though.
>
> I think it would be OK to move to "-C" as a default, but I agree it is
> nicer if it is configurable, as it gives a safety hatch for people in
> pathological repos to drop back to the old behavior (or even turn off
> renames altogether).
Yeah I am OK with that, too.
next prev parent reply other threads:[~2014-12-03 16:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-30 0:35 git status / git diff -C not detecting file copy Pol Online
2014-11-30 1:03 ` Bryan Turner
2014-11-30 1:30 ` Pol Online
2014-11-30 1:54 ` Bryan Turner
2014-12-02 6:55 ` Jeff King
2014-12-02 14:15 ` Pol Online
2014-12-02 17:57 ` Junio C Hamano
2014-12-02 20:09 ` Jeff King
2014-12-03 16:01 ` Junio C Hamano [this message]
2014-12-02 21:40 ` Bryan Turner
2014-12-02 21:50 ` Jeff King
2014-12-03 16:03 ` 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=xmqqa934lo2p.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=bturner@atlassian.com \
--cc=git@vger.kernel.org \
--cc=info@pol-online.net \
--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.