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.