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

Re: THREADED_DELTA_SEARCH

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 10, 2008, 15:34 UTC
Message-ID
<7vy749pxbe.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<20080710075327.GD24819@artemis.madism.org>
Pierre Habouzit <madcoder@debian.org> writes:
Show 6 quoted lines
>   I'm using it in production for quite a long time now, and I wonder if
> there is any specific reason why it's not default. Debian activated it
> by default too a couple of weeks ago, which means that it's in
> production on quite a large scale, and there are no issues reported
> either. Would a patch making it default be accepted ? It's quite handy
> given that SMP machines are really pervasive nowadays…
There were two issues, IIRC.
 (1) resulting pack could be suboptimal, due to delta-chain getting cut
     betweeen the worker thread boundary.
 (2) exploding memory use, suspected to be due to malloc pool
     fragmentation under multithreading.

The former was only an issue with early iterations of the code and the current code has much improved behaviour on this point, but I do not recall the latter issue has been addressed.

Previous: Pierre HabouzitNext: Nicolas Pitre
Message 6 of 13 in “THREADED_DELTA_SEARCH”
  1. Pierre HabouzitJul 10, 2008
  2. Johannes SixtJul 10, 2008
  3. Andreas EricssonJul 10, 2008
  4. Jakub NarebskiJul 10, 2008
  5. Pierre HabouzitJul 10, 2008
  6. Junio C HamanoJul 10, 2008
  7. Nicolas PitreJul 10, 2008
  8. Alex RiesenJul 10, 2008
  9. Nicolas PitreJul 10, 2008
  10. Alex RiesenJul 10, 2008
  11. Nicolas PitreJul 10, 2008
  12. Alex RiesenJul 10, 2008
  13. Pierre HabouzitJul 11, 2008

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.