D Language 2.0

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Jan 20 20:48:55 PST 2010


BCS wrote:
> Hello Andrei,
> 
>> BCS wrote:
>>
>>> Also there is one thing that -nogc would have over what you are
>>> talking about; you could use it on some modules and not others. If I
>>> have some performance critical code where attempting to use the GC
>>> would break it's perf contract, I can put it in it's own module and
>>> compile just it with -nogc and then link it in with code that does
>>> use the GC.
>>>
>> Meh. This has been discussed in the C++ standardization committee, and
>> it gets really tricky real fast when you e.g. use together several
>> libraries, each with its own view of memory management. My impression:
>> don't.
> 
> 
> Why would having one chunk of code get checked for calls to the GC and 
> another not be any more complicated than mixing 
> malloc/free+add/removeRoot with normal GC? I'm beginning to wonder if 
> I'm calling for something different than other people are.
> 
> What I'm thinking of would have zero effect on the generated code, the 
> only effect it would have is to cause an error when some code would 
> normally attempt to invoke the GC.

It's much more complicated than that. What if a library returns an 
object or an array to another library?

Memory allocation strategy is a cross-cutting concern.


Andrei



More information about the Digitalmars-d mailing list