From: Linus Torvalds <torvalds@linux-foundation.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: three-way diff performance problem
Date: Tue, 21 Jul 2009 13:34:07 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.01.0907211324220.19335@localhost.localdomain> (raw)
In-Reply-To: <7vd47tes2y.fsf@alter.siamese.dyndns.org>
On Tue, 21 Jul 2009, Junio C Hamano wrote:
>
> Here is a patch to do that. I haven't tested it yet though.
Well, it seems to work.
It turned the 85+ minute thing (which I eventually just killed) into
something that took 1.4 _seconds_. Of course, I didn't check that the end
result was identical, since I never had the patience to wait for the
original case.
Now sadly, my fixed test (which took 45 seconds before) didn't much
improve (it doesn't have nearly as many removed lines, since I checked in
the _right_ file that is a much closer version to the parent files).
But what is intriguing is that it it gets different results. So I suspect
this one actually changed behavior some way:
[torvalds@nehalem git-merge]$ time git show --color HEAD | wc
22671 63302 672234
real 0m44.024s
user 0m43.879s
sys 0m0.148s
[torvalds@nehalem git-merge]$ time ~/git/git show --color HEAD | wc
22596 63122 671076
real 0m43.553s
user 0m43.435s
sys 0m0.128s
and notice how the git version with your change gives different line
numbers.
Now, this is a diff, and different answers are possibly _both_ valid, so
who knows. But I suspect that you _intended_ for the patch to be a
semantic no-op, and it doesn't seem to be.
Linus
next prev parent reply other threads:[~2009-07-21 20:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-21 18:10 three-way diff performance problem Linus Torvalds
2009-07-21 18:16 ` Linus Torvalds
2009-07-21 19:21 ` Junio C Hamano
2009-07-21 19:31 ` Linus Torvalds
2009-07-21 19:47 ` Junio C Hamano
2009-07-21 20:34 ` Linus Torvalds [this message]
2009-07-21 20:46 ` Junio C Hamano
2009-07-21 21:01 ` Linus Torvalds
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=alpine.LFD.2.01.0907211324220.19335@localhost.localdomain \
--to=torvalds@linux-foundation.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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;
as well as URLs for NNTP newsgroup(s).