proposal: GC.*partial*collect(Duration maxPauseTime, Duration maxCollectionTime)

mw mingwu at gmail.com
Sun May 24 17:41:46 UTC 2020


On Sunday, 24 May 2020 at 08:27:39 UTC, Luis wrote:
> On Tuesday, 19 May 2020 at 15:25:56 UTC, mw wrote:
>> On Tuesday, 19 May 2020 at 05:59:17 UTC, rikki cattermole 
>> wrote:
>>> We know what can be done, just nobody wants to do the work.
>>> Our GC implementation isn't all that friendly even though it 
>>> now supports fork'ing and can be precise.
>>
>> That’s exactly why I’m proposing just add a timeout to the 
>> current gc algorithm, which periodically checks for early 
>> return without finish a full collection. I hope the required 
>> code change will be minimal. Then the users will have a much 
>> predictable (stop-the-world) gc.
>
> I think that the problem isn't that your idea is bad or nobody 
> likes it. It's a good idea, and would be a nice improvement. 
> The real problem is that there is nobody that would implement 
> it.


Maybe, we can start from drafting a DIP? anyone who is familiar 
with the process want to help? (esp if you also like the idea and 
want the improvement) @Adam D. Ruppe :-)


Also I noticed there isn't so much documentation about the GC's 
internal design and implementation:

https://forum.dlang.org/thread/yampusjziyptnbndymik@forum.dlang.org

Can someone who knows the internals can start a documentation of 
gc on D wiki? then others can pick up from there?



More information about the Digitalmars-d mailing list