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