Re: [PATCH] git-gui: suggest gc only when counting at least 2 objects
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Sep 14, 2009, 03:39 UTC
- Message-ID
- <20090914033958.GT1033@spearce.org>
- In-Reply-To
- <20090913211916.GA5029@localhost>
Clemens Buchacher <drizzd@aon.at> wrote:
Show 11 quoted lines
> On Sun, Sep 13, 2009 at 04:44:33PM -0400, Jeff King wrote: > > On Sun, Sep 13, 2009 at 08:41:50PM +0200, Clemens Buchacher wrote: > > > On Sun, Sep 13, 2009 at 10:58:45AM -0700, Junio C Hamano wrote: > > > > Somebody cares to explain why this threashold number has to be different > > > > per platform in the first place? > > > > > > I really don't know. I vaguely remember someone claim that performance on > > > Windows suffered from many loose objects more than on other platforms. I > > > can't find any discussion of it though. > > > > Maybe 8ff487c?
Yes, it was 8ff487c. Back then I was using Windows on a daily basis and this was put into git-gui because Aunt Tillie couldn't remember do run a git-gc every so often, and performance would just drop in the bucket. It also quite a bit predates `git gc --auto` being sprinkled throughout the code base on various operations.
As to why its been 200 as the loose count estimate, that was just a WAG based on what I observed on my desktop. 2000 on UNIX is usually fine, 2000 on Windows meant you waited an extra 30 seconds to perform an operation.
> Ok. But it's been 2 years since then and if I'm not mistaken, there have > been a number of performance improvements to msysgit. So maybe it's time to > revisit that threshold.
msysgit may have improved, but at the time I was running Git on Cygwin, and I doubt NTFS has really improved that much.
> If, on the other hand, requiring 2 objects really is too many, we should > maybe check at least two or four directories, which would greatly improve > the statistic.
I'm concerned about the FS cost of checking more directories, but this is a one-time penalty on startup of git-gui so it might not be too bad if it gets us a better estimate.
-- Shawn.