Re: [PATCH] pack-objects.h: remove outdated pahole results
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jul 1, 2022, 19:48 UTC
- Message-ID
- <Yr9Pg9mRQWe1tgE+@nand.local>
- In-Reply-To
- <Yr85+tcexG2geaPP@coredump.intra.peff.net>
On Fri, Jul 01, 2022 at 02:16:26PM -0400, Jeff King wrote:
Show 18 quoted lines
> On Tue, Jun 28, 2022 at 02:30:20PM -0400, Taylor Blau wrote: > > > Even though this comment was written in a good spirit, it is updated > > infrequently enough that is serves to confuse rather than to encourage > > contributors to update the appropriate values when the modify the > > definition of object_entry. > > > > For that reason, eliminate the confusion by removing the comment > > altogether. > > I agree the actual numbers aren't helping anybody. We _could_ leave a > comment that says "we store a lot of these in memory; be careful of > where and how you add new fields to avoid increasing the struct size". > And then people can run "pahole" before and after their changes. > > But then that is also true of other structs (like "struct object"), and > we do not bother there. So it probably is fine not to annotate this > specifically.
We have such a comment at the very type of the block comment above `struct object_entry`'s definition:
"The size of struct nearly determines pack-object's memory
consumption. This struct is packed tight for that reason. When you
add or reorder something in this struct, think a bit about this".thanks to Duy back in 3b13a5f263 (pack-objects: reorder members to shrink struct object_entry, 2018-04-14).
Show 11 quoted lines
> Speaking of which, I suspect quite a lot of memory could be saved if > "pack-objects --revs" freed the object structs it allocates during its > traversal. Unless we're generating bitmaps, I don't think they get used > again after the initial packing list is generated. At peak you'd > still be storing all of the object_entry structs alongside the objects > as you finish the traversal, but it wouldn't overlap with any memory > used for the delta search, and of course we'd be at that peak for a much > smaller time. > > Not a blocker for your patch obviously, but maybe a fun experiment in an > adjacent area. Possibly even an ambitious #leftoverbits opportunity. :)
Challenge accepted! ;-)
Thanks, Taylor