Re: cherry-pick very slow on big repository
- Date: Fri, 10 Nov 2017 10:20:12 +0000
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: cherry-pick very slow on big repository
On Fri, Nov 10, 2017 at 10:39:39AM +0100, Peter Krefting wrote:
> Running strace, it seems like it is doing lstat(), open(), mmap(), close()
> and munmap() on every single file in the repository, which takes a lot of
> I thought it was just updating the status, but "git status" returns
> immediately, while cherry-picking takes several minutes for every
> cherry-pick I do.
It kind of sounds like a temporary index is being refreshed that doesn't
have the proper stat information.
Can you get a backtrace? I'd do something like:
- gdb --args git cherry-pick ...
- 'r' to run
- give it a few seconds to hit the CPU heavy part, then ^C
- 'bt' to generate the backtrace
which should give a sense of which code path is leading to the slowdown
(or of course use real profiling tools, but if the slow path is taking 6
minutes, you'll be likely to stop in the middle of it ;) ).