Thiago Macieira wrote: >> Following Olivier's suggestion I think it might be beneficial to have alloc >> unconditionally in the base class, even if it is not being used at times. >> If nothing else, it saves padding. Additionally, deleter function and token >> would be more generally useful if they can be used with the alloc member. > > Yes, if we move the alloc member to the main struct, then it will simply > occupy the space currently used for padding. The total overhead for an > allocation would be 24 bytes on 64-bit systems. Since glibc's allocator is 16- > byte aligned, this means our data is always 8 bytes off. > > In my opinion, that's actually worse than having a larger header.
But that's what we currently have and wouldn't change with you suggestion above, right? Would it be worth to set the minimum alignment for the data as 16-bytes, at the expense of padding we explicitly add in QArrayData::allocate? (Since this decision can be done inside that function it would have no impact on ABI) Cheers, João _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development