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

Re: [PATCH/RFC 0/6] reuse deltas found by bitmaps

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 26, 2014, 22:31 UTC
Message-ID
<xmqqvbv0h9rm.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20140326181300.GA7087@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 6 quoted lines
> Just looking at the 128-day case again, using bitmaps increased our
> server CPU time _and_ made a much bigger pack. This series not only
> fixes the CPU time regression, but it also drops the server CPU time to
> almost nothing. That's a nice improvement, and it makes perfect sense:
> we are reusing on-disk deltas instead of on-the-fly computing deltas
> against the preferred bases.
True.
> I think we could still add the objects from the tip of the client's HAVE
> list.

That should make the result at least per to the non-bitmap case, right?

> This patch would still be a CPU win on top of that, because it
> would reduce the number of objects which need a delta search in the
> first place.
Yes.
> So I think the next steps are probably:
>
>   1. Measure the "all objects are preferred bases" approach and confirm
>      that it is bad.
;-)
>   2. Measure the "reused deltas become preferred bases" approach. I
>      expect the resulting size to be slightly better than what I have
>      now, but not as good as v1.9.0's size (but taking less CPU time).

Do you mean "the bases for reused deltas become preferred bases, so that we can deltify more objects off of them"?

>   3. Measure the "figure out boundaries and add them as preferred bases,
>      like we do without bitmaps" approach. I expect this to behave
>      similarly to v1.9.0.
Yes.
>   4. Combine (2) and (3) and measure them. I'm _hoping_ this will give
>      us the best of both worlds, but I still want to do the individual
>      measurements so we can see where any improvement is coming from.
Sensible.  Thanks.
Previous: Jeff KingNext: Jeff King
Message 12 of 17 in “reuse deltas found by bitmaps”
  1. 0/6 reuse deltas found by bitmapsJeff King, Mar 26, 2014
  2. 1/6 t/perf-lib: factor boilerplate out of test_perfJeff King, Mar 26, 2014
  3. Junio C HamanoMar 26, 2014
  4. 2/6 t/perf/aggregate: factor our percent calculationsJeff King, Mar 26, 2014
  5. 3/6 t/perf: add infrastructure for measuring sizesJeff King, Mar 26, 2014
  6. 4/6 t/perf: add perf tests for fetches from a bitmapped serverJeff King, Mar 26, 2014
  7. 5/6 pack-bitmap: save "have" bitmap from walkJeff King, Mar 26, 2014
  8. 6/6 pack-objects: reuse deltas for thin "have" objectsJeff King, Mar 26, 2014
  9. Eric SunshineMar 28, 2014
  10. Junio C HamanoMar 26, 2014
  11. Jeff KingMar 26, 2014
  12. Junio C HamanoMar 26, 2014
  13. Jeff KingMar 26, 2014
  14. Jeff KingMar 27, 2014
  15. Junio C HamanoMar 27, 2014
  16. Siddharth AgarwalMar 26, 2014
  17. Siddharth AgarwalMar 27, 2014

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.