DCT: D compiler as a collection of libraries
Roman D. Boiko
rb at d-coding.com
Sat May 12 14:08:44 PDT 2012
On Saturday, 12 May 2012 at 20:28:34 UTC, Tobias Pankrath wrote:
>> 1. If a struct is a field of heap allocated object, it will be
>> allocated and garbage collected. Only if it only exists on
>> stack
>> (i.e., in method body), GC is not used.
>
> As far as I can tell, it won't be allocated on it's own, since
> it is stored in the garbage collected object as a value field.
> So using a freelist would actually increase the overhead. You
> have to manage the freelist and do the allocation of the
> containing object.
Sorry for confusion. In the first point I was trying to clarify
that using a struct doesn't mean that it is stack allocated, but
that statement was off-topic for the given context. Currently I
consider my first point to be useless, and the second one is not
relevant in *my* context, since I don't do many allocations of
Location, as well as in a majority of other contexts. As it is
often the case, performance optimization should be performed only
when benchmarks show it is needed.
More information about the Digitalmars-d-announce
mailing list