On 9 August 2015 at 07:31, Walter Bright via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On 8/8/2015 7:40 PM, Manu via Digitalmars-d wrote:
1. DMD has unsatisfactory codegen for anything other than debug builds.

Do you mean the codegen is slower? But consider that the bottleneck in most programs is a small section of code. Taking a good look at the generated code for that and comparing with another compiler can often hint at an easy improvement to dmd that can address that bottleneck.

But waiting for someone else to discover the same thing on some other piece of code means you'll be waiting a long time.


Sometimes just using the wrong CPU can have adverse effects:

https://issues.dlang.org/show_bug.cgi?id=5100

 

2. DMD generates x87 code, and uses real everywhere.

Less so now than it used to. For float and double, it uses SIMD.

We can't be
generating new x87+real instructions in 2015. It's deprecated
hardware!

x87 works on every x86 CPU, and I doubt it will ever go away, deprecated or not. Why was it a problem for you?


I know that at least for the benefit of std.math, we should allow any precision without expensive casting to and from real, which has been found to be a performance problem on various benchmarks (GDC, LDC, DMD, doesn't matter).

Iain.