Inherent code performance advantages of D over C?

Manu turkeyman at gmail.com
Fri Dec 13 09:01:11 PST 2013


On 14 December 2013 02:50, Dicebot <public at dicebot.lv> wrote:

> On Friday, 13 December 2013 at 16:28:33 UTC, Manu wrote:
>
>> I could still REALLY do with __forceinline though. D doesn't have an
>> effective macro.
>> Obviously, if by 'language X' you mean 'any non-compiled language with
>> pointers', then I totally agree! People who make claims like you say,
>> don't
>> generally know what they're talking about, or what C is actually used for.
>>
>
> I believe (and have posted it over 100 times in NG already :P) D
> absolutely needs either way to force internal linkage or good LTO symbol
> elimination. Without preprocessor there is not much you can do to eliminate
> code duplication other than templates / CTFE - and it bloats resulting
> executables damn lot, something that was very controllable in C.
>

templates aren't guaranteed to inline, and they produce horrible symbol
bloat. ctfe isn't inlining, it's pre-computation/runtime elimination.
mixin is the closest, but it can't be used effectively in expressions, is
horribly dangerous and generally horrible, and requires much keyword
pollution.

We really do need __forceinline. Walter did agreed on one occasion. He said
something like "I've been thinking on it, and I think you might be right",
which is almost a mental commitment... so there's hope! :P
Sadly it was in a hotel parking lot, and not committed to the eternal
historic record (ie, the forum).
The alt-compilers have an attribute... if only we could alias attributes
(or groups of attributes). Another thing we need... :/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20131214/9b85232e/attachment.html>


More information about the Digitalmars-d mailing list