3 ms·
> And before it grows too big, it wastes memory how it wastes the memory? It's just a bytes array of the same size as struct. I would be more imposed on how id
by feelamee 2mo ago
> And before it grows too big, it wastes memory
how it wastes the memory? It's just a bytes array of the same size as struct.
I would be more imposed on how idiomatic pimpl with heap allocation influences memory usage and cache hits
- knorker 2mo agoI read the parent commenter as proposing headroom. Because if it's an exact match, then it doesn't help at all with ABI compat, and arguably doesn't add anything. Well, aside from compile time, but that's maybe better solved with modules?
- feelamee 2mo agopimpl can solve several problems and allowing to extend struct without breaking ABI is the one is them. But even such implementation of pimpl breaks compile time and ABI dependency. You can't change size without breaking ABI, but still can change members, etc (e.g. replace current fields with heap allocated to extend without breaking ABI :))
- knorker 2mo agoSure, but you could have done that without pimpl, too. At least without defaulted or inlined constructors/destructors/etc.