Apparent problem with GC not collecting on Windows
thedeemon
dlang at thedeemon.com
Wed Nov 28 23:40:26 PST 2012
On Wednesday, 28 November 2012 at 22:02:35 UTC, Michael wrote:
> Only 3 iterations before out of memory exception?
Because you used uint instead of ubyte, array is bigger, memory
exhausts faster.
> 3. Why it helps?
> GC.free(data.ptr);
Initial leak happened because for some reason array allocated in
previous iteration was not collected by GC when allocating new
one, so the new one was allocated in another space growing the
heap. If you place GC.free the array gets removed from heap on
each iteration and each new allocation reuses the same memory,
heap doesn't grow.
More information about the Digitalmars-d-learn
mailing list