On Monday, 4 July 2016 at 11:56:14 UTC, Rene Zwanenburg wrote:
On Monday, 4 July 2016 at 11:42:40 UTC, Rene Zwanenburg wrote:
...

I forgot to mention:

If you're on Windows compilation defaults to 32 bit, false pointers can be a problem with D's current GC in 32 bit applications. This isn't an issue for the sample application though, since you're not putting random numbers in the allocated arrays.

It is an issue here. It doesn't matter what numbers are in the arrays, what matters is if some random values on stack look like pointers pointing inside those arrays, which often happens with large arrays. Essentially it means in 32 bits we shouldn't GC-allocate anything larger than a few KBs, the larger the thing you allocate the more chances are it won't be collected due to false pointers on the stack and other data.


Reply via email to