Minimize GC memory footprint
Siemargl
inqnone at gmail.com
Sat Feb 6 11:38:58 UTC 2021
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();
More information about the Digitalmars-d-learn
mailing list