On 07/03/14 10:15, John Colvin wrote:
Having said that, I've been getting similar results from gdc and dmd recently too, with ldc coming out as a very clear winner.
Yup, this has been my experience for a while now too. I don't know what changed in the LLVM backend (or LDC's exploitation of its features) but LDC is clearly ahead in its ability to optimize D code.
That said, the main place where DMD lags AFAICS is number-crunching. Other stuff, probably not so much; and at least in my own benchmarks of various bits of code, there are occasional surprises where some particular case seems to run faster when compiled with DMD.
