Re: [PATCH] pack-object: trim memory usage a tiny bit
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Aug 7, 2010, 00:16 UTC
- Message-ID
- <AANLkTimEFjRuuO+GnAV7PGe0oPi-Qh37iLS6o3Q8Undw@mail.gmail.com>
- In-Reply-To
- <AANLkTingdhx5osnbiLVMyWaauCf1TRiMzcSC76gQRp9B@mail.gmail.com>
On Sat, Aug 7, 2010 at 10:04 AM, Sverre Rabbelier <srabbelier@gmail.com> wrote:
Show 9 quoted lines
> Heya, > > On Fri, Aug 6, 2010 at 19:03, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote: >> struct object_entry is allocated for every object to be packed. So if >> you do a clone on linux-2.6, you would need 1.6M of those structs, 88 >> bytes each. I cut 8 bytes from each of them. > > Sure, that was clear enough. But _how_? What needs to be done to > retain this? Are there any downsides?
Ah, by packing it tighter using bitfields. There are two fields that act as boolean, but they use at least one byte each. And enum object_type, I recall, uses 4 bytes (int), while it only needs 5 bits (4 bits is enough if OBJ_BAD is not counted). No downsides I know of.
-- Duy