git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: diffcore-rename performance mode

From
Jeff King <peff@peff.net>
Date
Sep 25, 2007, 19:52 UTC
Message-ID
<20070925195220.GA19549@segfault.peff.net>
In-Reply-To
<86641y4k34.fsf@lola.quinscape.zz>
On Tue, Sep 25, 2007 at 09:32:31PM +0200, David Kastrup wrote:
Show 11 quoted lines
> >                  | stock | nofree | old somefree | fixed somefree
> > -----------------|-----------------------------------------------
> > user time (s)    | 76.78 | 16.96  | 46.26        | 16.99
> > peak memory (Kb) | 52300 | 66796  | 59156        | 57328
> >
> > So now we're at a 4.5x speedup for about 10% extra memory usage. Patch
> > will follow.
> 
> Sounds good except when we happen to just hit the "memory working set
> exceeds physical memory" sweet spot.  But the odds are much better
> than for "nofree".
Of course, there is the possibility that it is the 10% that pushes you
into swap (or kills your ability to cache the entire pack in RAM).
However, this is probably not a big deal for two reasons:
  1. this is a 50M process handling the linux-2.6 repository. Other
     operations such as repacking already consume significantly more
     memory (git-repack -a allocates 290M on the same repo).
  2. I specifically turned off rename limiting (-l0) to do rename
     detection on these large-ish diffs.  If you have a machine which is
     on the cusp of swapping, then don't do that. Jumping from -l100
     (the default) to -l0 in my tests is _already_ moving you from 28M
     to 52M, a much larger jump.
-Peff
Previous: David KastrupNext: Linus Torvalds
Message 12 of 13 in “diffcore-rename performance mode”
  1. Jeff KingSep 18, 2007
  2. Junio C HamanoSep 18, 2007
  3. Jeff KingSep 18, 2007
  4. Junio C HamanoSep 18, 2007
  5. Jeff KingSep 18, 2007
  6. Junio C HamanoSep 18, 2007
  7. Johannes SchindelinSep 18, 2007
  8. Jeff KingSep 25, 2007
  9. Jeff KingSep 25, 2007
  10. Andreas EricssonSep 25, 2007
  11. David KastrupSep 25, 2007
  12. Jeff KingSep 25, 2007
  13. Linus TorvaldsSep 18, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.