How to save RAM in D programs (on zero initialized buffers)
Manfred Nowak
svv1999 at hotmail.com
Wed Feb 8 05:30:40 PST 2012
Marco Leise wrote:
> In D we allocate memory through the GC
[...]
> Let's assume, we have a program that allocates some buffers in
> advance, that it may not use fully.
[...]
> there is really no alternative to calloc.
1)
calloc implements a strategie for allocating memory. If this strategy
is usefull for parts of a program, then the GC should be informed
from the code and be capable to adapt its behavior to the requested
strategy.
This seems necessary because there is not only the null pattern to
initialize allocated memory.
2)
According to your OP the request for allocating memory can be
disjoint partitioned into three:
a) memory that is guaranteed to be used
b) memory that is guaranteed not to be used and
c) memory that might be used.
For the case that a + b exceeds available memory, should the coder
predeclare a strategy, i.e. should the GC signal out of memory on
request of the memory or should the GC wait until that sum reaches
some deadline?
-manfred
More information about the Digitalmars-d
mailing list