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

Re: [PATCH] diff: release blobs after generating textual diff.

From
Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Date
May 6, 2007, 21:36 UTC
Message-ID
<200705062336.28201.robin.rosenberg.lists@dewire.com>
In-Reply-To
<alpine.LFD.0.99.0705061301190.24220@xanadu.home>
söndag 06 maj 2007 skrev Nicolas Pitre:
Show 19 quoted lines
> On Sun, 6 May 2007, Junio C Hamano wrote:
> 
> > This reduces the memory pressure when dealing with many paths.
> > 
> > An unscientific test of running "diff-tree --stat --summary -M"
> > between v2.6.19 and v2.6.20-rc1 in the linux kernel repository
> > indicates that the number of minor faults are reduced by 2/3
> > (153k vs 49k).
> > 
> > Signed-off-by: Junio C Hamano <junkio@cox.net>
> > ---
> > 
> >  * This is still a WIP, not in the sense that it breaks anything
> >    (it doesn't seem to), but in the sense that it is not known
> >    if it is useful in general and would make that much of a
> >    difference with a project much larger than the kernel.
> 
> This can only be good.  People are really starting to use Git with 
> gigantic repos on limited memory hardware.

This did wonders on the usually unreasonable diffs on huge repos. The openoffice diff mentioned in the openoffice thread went from 6 to ~3 minutes, and most importantly the computer was perfectly usable meanwhile. Git memory usage dropped from 1,7GB to 400MB.

A more reasonable test diffing against a recent branch , master vs v33M4-patches, in the eclipse repo some of you have didn't gain much in performance, but memory usage dropped from 700MB to a peak just under 400MB, which makes a huge difference in responsiveness for the other applications that I have, since they were not swapped out during the diff.

-- robin
Previous: Nicolas PitreNext: Junio C Hamano
Message 5 of 6 in “diff: release blobs after generating textual diff.”
  1. diff: release blobs after generating textual diff.Junio C Hamano, May 6, 2007
  2. diff.c: truly honor size_only request for populate_filespec.Junio C Hamano, May 6, 2007
  3. diff: use filespec as in-place size cacheJunio C Hamano, May 6, 2007
  4. Nicolas PitreMay 6, 2007
  5. Robin RosenbergMay 6, 2007
  6. Junio C HamanoMay 8, 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.