<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 9 August 2015 at 07:31, Walter Bright via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 8/8/2015 7:40 PM, Manu via Digitalmars-d wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
1. DMD has unsatisfactory codegen for anything other than debug builds.<br>
</blockquote>
<br></span>
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.<br>
<br>
But waiting for someone else to discover the same thing on some other piece of code means you'll be waiting a long time.<span class=""><br>
<br></span></blockquote><div><br>Sometimes just using the wrong CPU can have adverse effects:<br><br><a href="https://issues.dlang.org/show_bug.cgi?id=5100">https://issues.dlang.org/show_bug.cgi?id=5100</a><span class="sewec9xchfl6zmv"></span><span class="sewec9xchfl6zmv"></span><br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2. DMD generates x87 code, and uses real everywhere.<br>
</blockquote>
<br></span>
Less so now than it used to. For float and double, it uses SIMD.<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We can't be<br>
generating new x87+real instructions in 2015. It's deprecated<br>
hardware!<br>
</blockquote>
<br></span>
x87 works on every x86 CPU, and I doubt it will ever go away, deprecated or not. Why was it a problem for you?<span class=""><br>
<br></span></blockquote><div><br></div><div>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).<br></div><div><br></div><div>Iain.<br></div></div></div></div>