Re: Git very slow ?
On Sun, Mar 08, 2015 at 12:39:10PM -0700, Linus Torvalds wrote:
Show 12 quoted lines
> On Sun, Mar 8, 2015 at 12:02 PM, Ken Moffat <zarniwhoop@ntlworld.com> wrote:
> >
> > The comments on git bisect were for linus'skernel tree, on a local
> > disk. 2.3GB of repo, just under 57000 files.
>
> Ugh. I hope you are talking about checked-out size.
>
> [torvalds@i7 linux]$ du -sh .git
> 850M .git
>
> because otherwise it sounds like that repo hasn't been repacked in forever.
>
Yes - I had finished bisecting, with the build still present.
Show 9 quoted lines
> To really pack things (which can slow things down for old history as
> people said, but on the whole it tends to be a big win due to less
> IO), do
>
> git repack -adf --window=200 --depth=200
>
> and go away for a while. Oh, and make sure your machine has enough
> memory and CPU to make that "for a while" not be *too* long.
>
For that, many thanks - this desktop has about 7GB (integrated
graphics steal a bit), current AMD desktop, and the repack of my
scripts repo took about 56 seconds. I'll do that on my copy of
the kernel tomorrow (it's on another machine).
Show 16 quoted lines
> You should have a few hundred files (just a few tens of files directly
> after the repack) and that roughly 850MB of space for the repository
> information itself.
>
> But yeah, fully checked out and built with all the modules etc, you
> would have much more.
>
> That said, if you have something fairly that is consistently really
> slow (like the "git commit" you mentioned), *before* doing the repack,
> do
>
> strace -o ../trace-file -Ttt git commit
>
> and we can get a much better guess about why it's so slow. Send it to
> me in private email if you don't want to make it public, and I can
> take a look.
I don't think you need to look - it was taking most of the time
(about 8 seconds) looping through the many files below .git/objects.
The trace was just over 9000 lines, repeating after the repack was
less than 1300 lines. It's available (97K after using xz) if you
think it would be useful, but I think you have already diagnosed the
problem and solution.
Show 7 quoted lines
>
> > ping between them gives times of 0.25 to 0.3 seconds
>
> .. and I *really* hope that was not seconds, but ms. Otherwise your
> nfsv3 setup is going to be really really painful.
>
> Linus
Yes, I'm not always good at knowing the right units. Thanks for the
help.
ĸen
--
Nanny Ogg usually went to bed early. After all, she was an old lady.
Sometimes she went to bed as early as 6 a.m.