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

mw mingwu at gmail.com
Sat May 23 17:47:19 UTC 2020


On Tuesday, 19 May 2020 at 05:59:17 UTC, rikki cattermole wrote:
> The GC performance isn't all that bad in D, as long as you 
> minimize garbage, hence not much effort goes towards it. For 
> most people you won't notice that it even runs.


I just replied in the other thread about choosing a new language 
in corporate environment:

https://forum.dlang.org/post/kjjredahuogmatldwolp@forum.dlang.org

It can be applied here too: companies always want predictability 
& warranty.

Personally I feel inclined to trust your informal words that "The 
GC performance isn't all that bad in D", but for commercial usage 
they always want (written) warranty: what's the worst scenario 
that can happen?

Even a laughable warranty is still a warranty: e.g. "the GC will 
stop your program for at most 1 seconds".  OK, that's fine, we 
know the where the limit is, so at least we can design the 
software to work-around it, e.g. design some user interaction 
steps / show animated entertaining pictures (>= 1 seconds), and 
in the background run the GC.


GC.*partial*collect(Duration maxPauseTime, Duration 
maxCollectionTime)
                              ^^^^^^^^^^^^           
^^^^^^^^^^^^^^^^^
This two parameters if added, is that *written* guarantee that 
the company would want.



More information about the Digitalmars-d mailing list