LinkedIn Article to be: Why you need to start moving off C/C++ to D, now.
John Colvin via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 15 14:19:27 PDT 2014
On Tuesday, 15 July 2014 at 21:13:22 UTC, Paulo Pinto wrote:
> Am 15.07.2014 22:58, schrieb deadalnix:
>> On Tuesday, 15 July 2014 at 20:03:15 UTC, Chris wrote:
>>> From the link above:
>>>
>>> "It’s a common but false belief that reference counting
>>> (using shared
>>> pointers in particular) is better than garbage collection.
>>> There is
>>> actual research* showing that the two approaches are just two
>>> sides of
>>> the same coin. You should realize that deleting a shared
>>> pointer may
>>> lead to an arbitrary long pause in program execution, with
>>> similar
>>> performance characteristics as a garbage sweep. It’s not only
>>> because
>>> every serious reference counting algorithm must be able to
>>> deal with
>>> cycles, but also because every time a reference count goes to
>>> zero on
>>> a piece of data a whole graph of pointers reachable from that
>>> object
>>> has to be traversed. A data structure built with shared
>>> pointers might
>>> take a long time to delete and, except for simple cases,
>>> you’ll never
>>> know which shared pointer will go out of scope last and
>>> trigger it."
>>>
>>> * http://www.cs.virginia.edu/~cs415/reading/bacon-garbage.pdf
>>
>> Yes but D's GC is crap. I actually wanted to a a quick hack in
>> it
>> recently to avoid going through the lock every time for every
>> operation, but ended up giving up. Also the API between the GC
>> and the compiler need to be reworked.
>
> Which boils down to having to improve the GC implementation,
> not that GC in general is bad.
Perhaps we should stop calling it a "Garbage Collector" and call
it "Fully Lazy Snapshot Reference Counting" instead :)
More information about the Digitalmars-d
mailing list