| |
| Posted by Steven Schveighoffer in reply to Guillaume Piolat | PermalinkReply |
|
Steven Schveighoffer
Posted in reply to Guillaume Piolat
| On 2/19/23 1:11 PM, Guillaume Piolat wrote:
> If my understanding is correct, the mere fact of having a:
struct S
{
char[16384] array;
}
And then using it anywhere, will necessarily lead to a S.init being created and linked, leading to a binary size inflation of 16kb.
This is not a super high concern, but can inform design decisions.
Is this correct?
Yes.
that's not the case for all-zero .init though. At least in TypeInfo.initializer , it's pointing to null with array size indicating the amount of zeroes to write.
Testing with run.dlang.io, switching between char and int changes the ASM output to show whether it's stored or not.
-Steve
|