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 18, 2007, 08:54 UTC
Message-ID
<20070918085413.GA11751@coredump.intra.peff.net>
In-Reply-To
<7vsl5cwe6p.fsf@gitster.siamese.dyndns.org>
On Tue, Sep 18, 2007 at 01:49:50AM -0700, Junio C Hamano wrote:
Show 5 quoted lines
> > However, keeping around _just_ the
> > cnt_data caused only about 100M of extra memory consumption (and gave
> > the same performance boost).
> 
> That would be an interesting and relatively low-hanging optimization.

OK, I will work up a patch. Is it worth making it configurable? Since it is a space-time tradeoff, if you are tight on memory, it might actually hurt performance. However, I have only looked at the numbers for my massive data set...I can produce memory usage numbers for the kernel, too.

Show 10 quoted lines
> I think it was just a hash table with linear overflow (if your
> spot is occupied by somebody else, you look for the next
> available vacant spot -- works only if you do not ever delete
> items from the table) but sorry, I do not recall the rationale
> for picking that data structure.  I vaguely recall I did some
> measurement between that and the usual "an array that is indexed
> with a hash value that holds heads of linked lists" and pointer
> chasing appeared quite cache-unfriendly to the point that it
> actually degraded performance, but did not try very hard to
> optimize it.

I thought we were holding counts of hashes, in which case there _is_ no overflow. We only care if you hit the hash fingerprint or not. But perhaps I am mistaken...I will have to look more closely at the code.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 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.