A few numbers on allocation in dmd
kinke
noone at nowhere.com
Wed Jul 1 08:38:13 UTC 2020
On Wednesday, 1 July 2020 at 08:15:12 UTC, NilsLankila wrote:
> There's already a micro optim for AliasDeclaration, see
> https://github.com/dlang/dmd/pull/11354. It should cut the use
> by 25% (so the number for AliasDecl *only*), minus the problem
> of allocations blocks, so maybe more 10% to 20% IRL.
For 64-bit, the size of a Declaration instance is 200 bytes
(2.092 frontend), for AliasDeclaration 232 bytes, and with your
change, down to 224 bytes, so the correct number is more like
-3.5%. Thx for doing it anyway.
Another thing to keep in mind is that all new'd allocations are
padded to a multiple of 16-bytes, see
https://github.com/dlang/dmd/blob/d97a908d35c8e6c22571688f12138862ef089337/src/dmd/root/rmem.d#L176 (for the GC/-lowmem too, which has a bigger overhead).
More information about the Digitalmars-d
mailing list