Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: Poor performance of git describe in big repos

From: Jeff King <hidden>
Date: 2016-06-15 22:57:31

On Fri, May 31, 2013 at 12:27:11PM +0200, Thomas Rast wrote:
Thomas Rast [off-list ref] writes:
quoted
However, if that turns out to be the culprit, it's not fixable
currently[1].  Having commits with insanely long messages is just, well,
insane.

[1]  unless we do a major rework of the loading infrastructure, so that
we can teach it to load only the beginning of a commit as long as we are
only interested in parents and such
Actually, Peff, doesn't your commit parent/tree pointer caching give us
this for free?
It does. You can test it from the "jk/metapacks" branch at
git://github.com/peff/git. After building, you'd need to do:

  $ git gc
  $ git metapack --all --commits

in the target repository. You can check that it's working because "git
rev-list --all --count" should be an order of magnitude faster. You may
need to add "save_commit_buffer = 0" in any commands you are checking,
though, as the optimization can only kick in if parse_commit does not
want to save the buffer as a side effect.

I also looked into trying to just read the beginning part of a commit[1],
but it turned out not to be all that much of an improvement.

-Peff

[1] http://article.gmane.org/gmane.comp.version-control.git/212301
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help