all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* vc-git-state very slow, waiting for `git diff-index`, in large repositories
@ 2012-08-01 15:40 Matt McClure
  0 siblings, 0 replies; 3+ messages in thread
From: Matt McClure @ 2012-08-01 15:40 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 890 bytes --]

Emacs opens files from one of my largest Git repositories very slowly. It
looks like it spends most of that time waiting for `git diff-index -z HEAD
-- <file>`.

I upgraded this morning to
http://emacsformacosx.com/emacs-builds/Emacs-2012-07-28-109240-universal-10.6.8.dmghoping
that it would include the fix for
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11757 and that that would make
Emacs fast enough. But it was still very slow.

I see there's another open ticket citing the call to `git diff-index` from
`vc-git-state`: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8288

Applying the workaround from comment 14 in that ticket works for me, but it
seems like it would be better to address the problem closer to the root in
the Emacs source and/or in Git.

What would you recommend?

-- 
Matt McClure
http://www.matthewlmcclure.com
http://www.mapmyfitness.com/profile/matthewlmcclure

[-- Attachment #2: Type: text/html, Size: 1526 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: vc-git-state very slow, waiting for `git diff-index`, in large repositories
@ 2012-08-01 16:19 Dmitry Gutov
  2012-08-03 16:24 ` Matt McClure
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Gutov @ 2012-08-01 16:19 UTC (permalink / raw)
  To: matthewlmcclure; +Cc: help-gnu-emacs

Hi Matt,

Matt McClure <matthewlmcclure@gmail.com> writes:
 > Emacs opens files from one of my largest Git repositories very 
slowly. It looks
 > like it spends most of that time waiting for `git diff-index -z HEAD 
-- <file>`.
 >
 > I upgraded this morning to
 > 
http://emacsformacosx.com/emacs-builds/Emacs-2012-07-28-109240-universal-10.6.8.dmg
 > hoping that it would include the fix for
 > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11757 and that that 
would make
 > Emacs fast enough. But it was still very slow.

11757 was totally unrelated.

 > I see there's another open ticket citing the call to `git diff-index` 
from
 > `vc-git-state`: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8288
 >
 > Applying the workaround from comment 14 in that ticket works for me, 
but it
 > seems like it would be better to address the problem closer to the 
root in the
 > Emacs source and/or in Git.
 >
 > What would you recommend?

I'd recommend timing 'git diff-index -z HEAD -- <file>' vs 'git status
--short <file>' vs 'git status -z --porcelain <file>' in the console on
your real repository and posting the numbers to the bug 8288.
And maybe contributing an example patch that works for you. The function
responsible for this is `vc-git-state'.

--Dmitry



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: vc-git-state very slow, waiting for `git diff-index`, in large repositories
  2012-08-01 16:19 Dmitry Gutov
@ 2012-08-03 16:24 ` Matt McClure
  0 siblings, 0 replies; 3+ messages in thread
From: Matt McClure @ 2012-08-03 16:24 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 882 bytes --]

Hi Dmitry,

On Wed, Aug 1, 2012 at 12:19 PM, Dmitry Gutov <dgutov@yandex.ru> wrote:

> I'd recommend timing 'git diff-index -z HEAD -- <file>' vs 'git status
> --short <file>' vs 'git status -z --porcelain <file>' in the console on
> your real repository and posting the numbers to the bug 8288.
> And maybe contributing an example patch that works for you. The function
> responsible for this is `vc-git-state'.


Both `git diff-index` and `git status` were comparably slow at least to my
subjective perception. After archiving old branches and a garbage clean --
`git tag`, `git branch -d`, `git gc` -- both perform fast enough again. For
the time being, I think I retract my earlier belief that I was seeing the
same thing as described in bug 8288.

Thanks for your help.

Matt

-- 
Matt McClure
http://www.matthewlmcclure.com
http://www.mapmyfitness.com/profile/matthewlmcclure

[-- Attachment #2: Type: text/html, Size: 1448 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-03 16:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-01 15:40 vc-git-state very slow, waiting for `git diff-index`, in large repositories Matt McClure
  -- strict thread matches above, loose matches on Subject: below --
2012-08-01 16:19 Dmitry Gutov
2012-08-03 16:24 ` Matt McClure

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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.