On Monday, 18 August 2014 at 18:04:50 UTC, Ali Çehreli wrote:
On 08/18/2014 03:11 AM, Ivan Kazmenko wrote:
> my program usually hit an out-of-memory error very soon. It
> worked fine when compiled with 64-bit DMD but failed to
collect
> the garbage in time with 32-bit DMD and with recent LDC.
That sounds like a false pointer issue. D's current GC is
conservative: It takes any value that could be a pointer as a
pointer and persists the memory that is falsely being pointed
at.
The problem becomes 2^^32 times less likely when pointers are
64-bit wide.
Ali
http://www.deadalnix.me/2012/03/05/impact-of-64bits-vs-32bits-when-using-non-precise-gc/