How to save RAM in D programs (on zero initialized buffers)

Marco Leise Marco.Leise at gmx.de
Tue Feb 7 12:24:40 PST 2012


Am 07.02.2012, 21:11 Uhr, schrieb Nick Sabalausky <a at a.a>:

> Is void initialization not good enough?
>
> IIRC it's something like:
>
> ubyte[] buf = void;

That gives me a) no buffer, who's pointer is b) not initialized to null.
I want instead a defined pointer, to a valid array, that is initialized to  
zero.

Anyway, I think the flaw in my proposal is the use of a GC. Since we don't  
get the memory directly from the operating system, but from a memory pool  
in the GC, it is generally 'recycled' and already used memory. It has to  
be zeroed out manually, unless there was a way to tell the OS to rebind  
some virtual memory addresses in our program to this magic 'zero page'.


More information about the Digitalmars-d mailing list