Re: best practices against long git rebase times?
- From
Jeff King <peff@peff.net>
- Date
- Dec 7, 2015, 22:59 UTC
- Message-ID
- <20151207225957.GB3785@sigill.intra.peff.net>
- In-Reply-To
- <xmqqmvtllvfi.fsf@gitster.mtv.corp.google.com>
On Mon, Dec 07, 2015 at 02:56:33PM -0800, Junio C Hamano wrote:
Show 22 quoted lines
> Jeff King <peff@peff.net> writes: > > > You're computing the patch against the parent for each of those 3000 > > commits (to get a hash of it to compare against the single hash on the > > other side). Twelve minutes sounds long, but if you have a really > > gigantic tree, it might not be unreasonable. > > > > You can also try compiling with "make XDL_FAST_HASH=" (i.e., setting > > that option to the empty string). Last year I found there were some > > pretty suboptimal corner cases, and you may be hitting one (we should > > probably turn that option off by default; I got stuck on trying to find > > a hash that would perform faster and never followed up[1]. > > > > I doubt that is your problem, but it's possible). > > > > -Peff > > > > [1] http://thread.gmane.org/gmane.comp.version-control.git/261638 > > I vaguely recall having discussed caching the patch-ids somewhere so > that this does not have to be done every time. Would such an > extension help here, I wonder?
I think you missed John's earlier response which gave several pointers to such caching schemes. :)
I used to run with patch-id-caching in my personal fork (I frequently use "git log --cherry-mark" to see what has made it upstream), but I haven't for a while. It did make a big difference in speed, but I never resolved the corner cases around cache invalidation.
-Peff