git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Catalin Marinas <catalin.marinas@gmail.com>
Cc: Linus Torvalds <torvalds@osdl.org>, git@vger.kernel.org
Subject: Re: Is cogito really this inefficient
Date: Thu, 14 Jul 2005 10:59:38 +0100	[thread overview]
Message-ID: <20050714105938.A31383@flint.arm.linux.org.uk> (raw)
In-Reply-To: <tnxu0ixoiuo.fsf@arm.com>; from catalin.marinas@gmail.com on Thu, Jul 14, 2005 at 10:08:31AM +0100

On Thu, Jul 14, 2005 at 10:08:31AM +0100, Catalin Marinas wrote:
> Russell King <rmk@arm.linux.org.uk> wrote:
> > it appears that cg-diff does a
> >
> > 	git-update-cache --refresh >/dev/null
> >
> > each time it's run, which is taking the bulk of the time.  Also note
> > that curiously, it exits with status 1.
> 
> Does git-ls-files --unmerged show any files?

No, and it returns fairly quickly:

$ /usr/bin/time git-ls-files --unmerged
0.29user 0.03system 0:00.43elapsed 73%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+655minor)pagefaults 0swaps

Actually, I should've left the sh -x /usr/bin/cg-diff drivers/serial/8250.c
running a little longer.  It's not the git-update-cache command which
is taking the time, it's git-diff-cache.

Running the diff several times, both with and without changes to
drivers/serial/8250.c, it seems that sometimes it's faster.  I guess
it has to do with dentry invalidation...

However, the point is - I've only asked for _one_ file.  Why do we need
to look at _every_ file in the tree?

I could understand this behaviour if I'd asked for a diff across the
whole tree, but I didn't.

Internally, the sha1 of the unmodified drivers/serial/8250.c should be
known, so should be trivial to unpack that and generate a diff.  Given
the cache, this should be something which should be lightning fast
when the requested fileset to diff is already known.

-- 
Russell King

  reply	other threads:[~2005-07-14 10:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-13 12:50 Is cogito really this inefficient Russell King
2005-07-13 16:51 ` Matthias Urlichs
2005-07-14  7:38   ` Russell King
2005-07-13 20:28 ` Linus Torvalds
2005-07-14  7:37   ` Russell King
2005-07-14  9:08     ` Catalin Marinas
2005-07-14  9:59       ` Russell King [this message]
2005-07-14 15:51         ` Linus Torvalds
2005-07-15  0:29           ` Linus Torvalds
2005-07-15  2:10             ` Junio C Hamano
2005-07-15  9:48             ` Russell King
2005-07-14 15:26     ` Linus Torvalds
2005-07-19 23:54       ` Petr Baudis

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=20050714105938.A31383@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /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).