The "no gc" crowd

Elvis Zhou elvis.x.zhou at gmail.com
Tue Oct 8 10:49:50 PDT 2013


On Tuesday, 8 October 2013 at 17:00:35 UTC, Dicebot wrote:
> On Tuesday, 8 October 2013 at 16:29:38 UTC, ponce wrote:
>> Hidden language allocations:
>> - concatenation operator   ~
>> - homogeneous arguments   void (T[]... args)
>> - "real" closures that escapes
>> - array literals
>> - some phobos calls
>>
>> What else am I missing?
>> I don't see the big problem, and a small fraction of projects 
>> will require a complete ban on GC allocation, right?
>
> Should be all I am aware of (though closures sometimes do 
> allocate even without escaping AFAIK). This is more than enough.
>
> Imagine stuff like vibe.d - for proper performance you don't 
> want to make any allocations during request handling. Neither 
> GC, nor malloc. It is still perfectly fine to run GC in 
> background (well, assuming we will get concurrent GC one day) 
> for some persistent tasks but how are you going to verify your 
> request handling is clean? By tracking mentioning of array 
> literals in random places by hand? During every single pull 
> review?
>
> I have said on this topic several times - it does not matter 
> what is _possible_ to do with D memory model. It does matter 
> what is _convenient_ to do. If something is possible but needs 
> more attention than in C++ it will be considered by crowd as 
> impossible and no blog posts will change that.
>
> (loud shouting "@noheap, @noheap, @noheap !")

+1


More information about the Digitalmars-d mailing list