DMD is faster than LDC and GDC

Vladimir Panteleev via Digitalmars-d digitalmars-d at puremagic.com
Fri Nov 13 12:31:51 PST 2015


On Thursday, 12 November 2015 at 21:24:30 UTC, David Nadlinger 
wrote:
> On Thursday, 12 November 2015 at 21:16:25 UTC, Walter Bright 
> wrote:
>> [...]
>
> Oh, GCC has had similar notions as a non-standard attribute for 
> ages, and LLVM since its inception.
>
> At least for LDC, the reason why we do not currently lower many 
> of the qualifiers like pure, nothrow, immutable, etc. is that 
> LLVM will ruthlessly consider your code to exhibit undefined 
> behavior if you try to be clever and violate them, subsequently 
> optimizing based on that. In other words, if you cast away 
> const/immutable and modify a variable, for instance, you might 
> find that the entire function body magically disappears under 
> your feet.
>
> Maybe it is time to revisit this, though, but last time I tried 
> it broke druntime/Phobos in a couple of places.

That sounds awesome.

Maybe only enable it for @safe code?


More information about the Digitalmars-d mailing list