On Tue, Apr 13, 2021 at 03:12:54AM -0400, Jeff King wrote: > On Mon, Apr 12, 2021 at 07:47:41PM -0400, Jeff King wrote: > > > The patch below drops the peak heap to 165MB. Still quite a bit more, > > but I think it's a combination of delta-base cache (96MB) plus extra > > structs for all the non-commit objects whose flags we marked. > > I think we can do even better than that, after looking into the "do we > really need to parse the objects?" comment I left (spoiler: the answer > is no, we do not need to, at least for that caller). > > Here are some cleaned-up patches that I think improve the situation > quite a bit. > Anyway, here are the patches. > > [1/3]: is_promisor_object(): free tree buffer after parsing > [2/3]: lookup_unknown_object(): take a repository argument > [3/3]: revision: avoid parsing with --exclude-promisor-objects I tried these patches together with your first in this thread [1], and then could finally 'gc' my 'blob:none' chromium clone in: elapsed: 3:23.64 max RSS: 3206552k Thanks. [1] https://public-inbox.org/git/YG4hfge2y%2FAmcklZ@xxxxxxxxxxxxxxxxxxxxxxx/