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