The Death of D. (Was Tango vs Phobos)

Yigal Chripun yigal100 at gmail.com
Sat Aug 23 05:56:27 PDT 2008


Sean Kelly wrote:
 > I'd prefer being able to choose the GC I want without needing the
> compiler vendor to supply it.  Otherwise, the compiler vendor either
> needs to know how to write a GC (unlikely) or they need to bundle a
> third-party GC.  Also, different applications have different memory
> requirements.  Tango allows the GC to be chosen at link-time, which
> allows for a great deal of flexibility. 

If we compare to Java than Sun provides more than one GC with its
runtime and you can get even more specialized version GC if you really
need it (real-time for example). I guess there's nothing wrong in
getting a third party GC either.
The point is that in Java those GCs are chosen by the runtime (you can
specify if you run your app as a server or a client app and based on
that the GC is chosen) or you can specify explicitly your GC too, I
guess. Non of that should affect your code (unless you choose to use
specific extensions to the GC API provided but a specialized GC).
So, the choice of a GC doesn't affect your code.

> 
>> The benefit is that the vendors will compete for runtime performance
>> which is good for the end user. I can choose vendor A's GC since it is
>> more efficient with regards to memory (if I care for that) or vendor B's
>> GC if it's faster, etc..
> 
> Better to choose the GC separately from the compiler, then, so you can
> use the best of breed of each.
> 
>> All I care is that everything that is visible to the end user is
>> standardized - i.e. I can do GC.collect() in my code since it's in the
>> APIs and don't care if I use llvmdc, dil, dmd, gdc, etc.. ( I'll care
>> for performance reasons and such of course and for that I can just
>> switch to a different vendor without any code changes)
> 
> This is a standard library issue not a compiler runtime or GC issue.

it is an issue with the compiler runtime/GC if there isn't a standard
API and when I change my GC/runtime I need to edit the source.

> 
> 
> Sean



More information about the Digitalmars-d mailing list