Deterministic Memory Management With Standard Library Progress
Inquie via Digitalmars-d
digitalmars-d at puremagic.com
Sat Mar 4 16:06:04 PST 2017
> Finally GC problems are completely exagerated. It only runs
> when used so having it to manage exceptions only for example is
> completely viable, and it is possible to dereference threads if
> you don't want them to be seen by the GC. Using GC globally and
> avoiding it locally on heat points has proved to be a
> successful strategy within the community. So I wouldn't worry
> too much, giving it a try is paramount.
Please stop making this argument. Just because one can amortize
out the effect of the GC does not in any way change the fact that
it is a stop the world GC and for certain applications this is
provably a show stopper. One can come up with any number of
commercial apps that fail using D's GC. Some applications require
near real time behavior and D's GC does not provide any bounds on
how long it runs... regardless of any average behavior(as that is
meaningless when it only takes once to kill a person, create an
audio glitch, etc). All these apps work fine with deterministic
memory management or possibly other methods, but not D's GC.
It is not a viable solution just because it is a solution for
you. When you start writing these apps that simply do not
function to the standards set by the customer and this is all due
to D's GC, then you will experience why it is bad. Until then,
you won't have a clue.
It doesn't matter if it works 99.99% of the time, with these
applications that may run for months at a time and have critical
behavior constraints, 99.99% doesn't look that great. So, please
don't push your ideals, motivations, experiences on others and
just be honest with them. D's GC sucks for near real time
applications, and it has problems. It one avoids the GC as best
as they can using traditional techniques, it minimizes the effect
of the GC and makes the app closer to real time.
More information about the Digitalmars-d
mailing list