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

Re: [PATCH 0/3] pack-objects: simplify add_objects_in_unpacked_packs()

From
Taylor Blau <me@ttaylorr.com>
Date
Aug 30, 2021, 21:30 UTC
Message-ID
<YS1N2moWMnd5nq83@nand.local>
In-Reply-To
<YS1GemF3aKTe//Tn@coredump.intra.peff.net>
On Mon, Aug 30, 2021 at 04:58:34PM -0400, Jeff King wrote:
Show 5 quoted lines
> Those unknown objects cost 72 bytes of heap each (the same size as a
> commit, since it's the biggest struct and the unknown object is a
> union). We've seen some real-world cases where there are 40M+
> unreachable objects. So that's almost 3GB of wasted RAM during
> pack-objects just to store those "did I see it already" bits. :)

I wondered if you could see the drop-off represented in GitHub's overall "total heap allocated by Git" metrics, but they get drowned out in the noise of other processes we're running.

But not wasting memory there is obviously good, even if it isn't noticeable in the overall metrics.

Thanks, Taylor

Previous: Jeff King
Message 9 of 9 in “pack-objects: simplify add_objects_in_unpacked_packs()”
  1. 0/3 pack-objects: simplify add_objects_in_unpacked_packs()Taylor Blau, Aug 30, 2021
  2. 1/3 object-store.h: teach for_each_packed_object to ignore kept packsTaylor Blau, Aug 30, 2021
  3. 2/3 builtin/pack-objects.c: simplify add_objects_in_unpacked_packs()Taylor Blau, Aug 30, 2021
  4. Jeff KingSep 2, 2021
  5. Taylor BlauSep 3, 2021
  6. 3/3 builtin/pack-objects.c: remove duplicate hash lookupTaylor Blau, Aug 30, 2021
  7. Junio C HamanoAug 30, 2021
  8. Jeff KingAug 30, 2021
  9. Taylor BlauAug 30, 2021

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.