[D-runtime] Precise garbage collection
Rainer Schuetze
r.sagitario at gmx.de
Mon Jun 24 11:29:36 PDT 2013
On 24.06.2013 11:19, Leandro Lucarella wrote:
> I'll repeat what I said in my talk. I think the "rebuild" option is an
> extremely bad idea.
Especially in the transition to precise GC I would expect one or two
hickups and everybody will tend to blame the changed GC. It should be
easy to switch to non-precise GC to verify if the accusation is rectified.
> I used "initialization-time" configurability in CDGC and worked pretty
> well. It would be much more convenient to have a way to change GC
> options at source code level too, but I had the same problem, I couldn't
> find a way to do anything before the GC is initialized. I think being
> able to configure runtime options via environment variables is an
> extremely convenient option.
I was thinking about environment variables aswell, but that's not so
convenient for applications run by non-developers.
One way to do it might be to put configuration variables into a module
gc.config (it might still read environment variables to change
defaults). This module is part of the druntime library. If the
programmer then provides a different gc.config that fulfills all the
link dependencies, on the link command line, it is preferred over the
module from the library.
One thing I'll do for sure is to convert versions(GC_PRECISE) to
if(gc_precise), so it is easy to switch between a configuration variable
and an enum that allows the optimizer to just remove the disabled parts.
More information about the D-runtime
mailing list