-nogc

Daniel Keep daniel.keep.lists at gmail.com
Fri Apr 24 18:34:03 PDT 2009



dennis luehring wrote:
> On 24.04.2009 08:24, dennis luehring wrote:
>> dennis luehring schrieb:
>>> Andrei Alexandrescu schrieb:
>>>> dennis luehring wrote:
>>>>> Andrei Alexandrescu schrieb:
>> does that also mean that strings are getting template based?
>>
>> what amount of debug-code will produce this? like with the stl (or
>> boost) - zillion megabytes for 9 lines of code? and i can throw away my
>> debugger (if D will get a good one)
>>
>> im always shocked when looking at the stl/boost based assembler code in
>> debug releases - does D generate less code?
> 
> but i still like the idea of getting more generic at the base :-)
> the result will less special cases for the compiler and no
> that-can-only-the-compiler-do scenarios
> 
> but the downside - are the error messages then still that informative
> and what is the code bloat in the end - but maybe walter found a way to
> code-specialize the Array!/Assoc! (i hope to see better initalizers then
> - maybe static ones :-]) stuff for the standard datatypes - and then
> everything is fine ...
> 
> still waiting for D 3 - the concurrency wonderland ...

Let's take an example.  Code for Array!(char) and Array!(ubyte) are
probably going to be exactly identical.  Of course, it's very hard for
the compiler to know that.  It sees two distinct types.  Simply looking
at the template arguments doesn't help thanks to static if.

The real question is: is the generated machine code identical?  If it
is, there's probably no benefit in having multiple versions of it.

I know it's been said a bazillion times already, but maybe we should
look at replacing OPTLINK, and adding a "collapse identical code
sections" option while we're at it.  :P

  -- Daniel



More information about the Digitalmars-d mailing list