Garbage Collector?

Ben via Digitalmars-d digitalmars-d at puremagic.com
Thu Apr 27 12:36:44 PDT 2017


On Thursday, 27 April 2017 at 16:35:57 UTC, Moritz Maxeiner wrote:
> You'll have to be more specific about what issue you're 
> referring to. People not liking garbage collection? In any 
> case, AFAIU DIP1000 was about more mechanically verifiable 
> memory safety features when not using the GC.
>
>>
>> Is it possible to run D without the GC AND the standard 
>> library?
>
> It is possible to run a D program without the GC only if you 
> don't allocate using the GC. If you want to see D code that 
> does allocate using the GC, the compiler flag `-vgc` is your 
> friend (compile Phobos with `-vgc` for kicks). Currently, not 
> all of Phobos is free of GC allocations, most notably 
> exceptions (refer to [1] and similar topics)
>
> [1] http://forum.dlang.org/thread/occ9kk$24va$1@digitalmars.com

Frankly seeing in this example that the GC was in theory able to 
kick in 6 times in a simple 100 item loop, that is not efficient. 
I if did my own memory management, the variable cleanup will have 
been done in one go, right after the loop. Simply more efficient.

Been thinking about this topic. Dlang has a destructor, does that 
means if you allocate on the GC and then do your own destructor, 
it technically counts as manual memory management?

That is assuming the GC removes the memory reference when you 
call it. I remember seeing in some other languages ( C# possibly? 
) that referring a variable to be freed only meant the GC freed 
the memory when it felt like it, not the exact spot when you told 
it.

I personally think that people simple have a bad taste with GC 
because they kick in too much outside there control. For 90% the 
default behavior is good but its those 10% that leaves a bad 
taste with people ( GC on critical moments and hurting 
performance in return ).


More information about the Digitalmars-d mailing list