From: Thomas Rast <trast@student.ethz.ch>
To: Jeff King <peff@peff.net>
Cc: <git@vger.kernel.org>, Junio C Hamano <gitster@pobox.com>,
Laine Walker-Avina <lwalkera@pasco.com>
Subject: Re: [PATCH] rebase -i: avoid --cherry-pick when rebasing to a direct ancestor
Date: Sat, 20 Feb 2010 14:38:29 +0100 [thread overview]
Message-ID: <201002201438.29635.trast@student.ethz.ch> (raw)
In-Reply-To: <20100220072728.GA12168@coredump.intra.peff.net>
On Saturday 20 February 2010 08:27:28 Jeff King wrote:
> But it is probably the source of the slowness to xdiff that
> gigantic files.
BTW, here's a weird data point:
$ ls -l a b
-rw-r--r-- 1 thomas users 3300765 2010-02-20 12:48 a
-rw-r--r-- 1 thomas users 3253762 2010-02-20 12:48 b
$ time diff -u a b | wc -l
54530
real 0m0.644s
user 0m0.562s
sys 0m0.044s
$ time git diff --no-index a b >/dev/null
real 0m22.848s
user 0m21.956s
sys 0m0.137s
$ time git diff --no-index --patience a b >/dev/null
real 0m19.508s
user 0m18.673s
sys 0m0.273s
'a' and 'b' are two pnm's as per the OPs specification, I made 'a' a
gradient and 'b' the same with two crosses drawn over it. You can
find them at
http://thomasrast.ch/download/slow-diff-pnms.zip
if you want to reproduce.
So what on earth does 'diff' do that makes it 35 times as fast?
--
Thomas Rast
trast@{inf,student}.ethz.ch
next prev parent reply other threads:[~2010-02-20 13:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-19 21:24 Git has bad performance when traversing change-sets with large PPM files Laine Walker-Avina
2010-02-19 23:30 ` [PATCH] rebase -i: avoid --cherry-pick when rebasing to a direct ancestor Thomas Rast
2010-02-20 0:02 ` Thomas Rast
2010-02-20 7:27 ` Jeff King
2010-02-20 11:42 ` [PATCH] cherry_pick_list: quit early if one side is empty Thomas Rast
2010-02-21 6:50 ` Jeff King
2010-02-20 13:38 ` Thomas Rast [this message]
2010-02-21 7:46 ` [PATCH] rebase -i: avoid --cherry-pick when rebasing to a direct ancestor Jeff King
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=201002201438.29635.trast@student.ethz.ch \
--to=trast@student.ethz.ch \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=lwalkera@pasco.com \
--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.