On Saturday, 6 February 2021 at 11:20:18 UTC, Imperatorn wrote:
On Saturday, 6 February 2021 at 09:42:38 UTC, rikki cattermole
wrote:
On 06/02/2021 3:32 PM, frame wrote:
[...]
This won't do anything.
[...]
Don't forget to stdout.flush; Otherwise stuff can get caught
in the buffer before erroring out.
[...]
Turn on the precise GC, 32bit is a bit too small of a range
and you can get false positives like in this case (at least
looks like it).
For reference, how does one turn on precise GC?
https://dlang.org/spec/garbage.html#gc_config
Strange things happens:
- precise scanning dont change result - OOM @ same round 27
--DRT-gcopt=help wont show used gc implementation, also cleanup
type not printed
- maxPoolSize:N dont limit total size of GC
- in gc:manual mode GC.collect() not releasing memory
When i print free GC memory, it seems to memory leaking
writefln("Usage: %.2f MiB (free %.2f MiB) / collected: %d",
(cast(double) GC.stats.usedSize) / 1_048_576,
(cast(double) GC.stats.freeSize) / 1_048_576,
GC.profileStats.numCollections);
stdout.flush();