ARM first & default LDC

H. S. Teoh hsteoh at quickfur.ath.cx
Tue Dec 15 17:09:15 UTC 2020


On Tue, Dec 15, 2020 at 04:47:46PM +0000, bachmeier via Digitalmars-d wrote:
[...]
> A fruitful initiative would be improving DMD's compilation speeds at
> the expense of optimizations.
[...]

I honestly doubt we'd gain any significant compilation speed by
pessimizing optimizations any more than they already are in DMD. In
fact, I don't even bother with -O when I'm using DMD, due to codegen
bugs that often get triggered by -O.  Whenever I bother to use DMD, it's
because I want fast compile times, I don't care for optimizations. (If I
wanted optimizations I'd use LDC instead, any day.)  So we're not going
to gain anything by making DMD optimizations even worse.

Instead, what would actually benefit everyone is to make the front-end
faster, because the front-end is shared by all 3 compilers. As Andrei
and Stefan has posted in the past, the bottlenecks are mainly in CTFE
and recursive template expansions.  If the front-end improves in this
area, it helps *all* 3 compilers, not just DMD.  So forget about
DMD-specific (i.e., backend) improvements; instead, improve the
front-end, and everybody wins.  The DMD backend is already sufficiently
fast for what it does anyway; it's not even the bottleneck in the first
place.  It's the recursive template instantations in the front-end that
are the bottleneck. And CTFE, to a lesser extent.


T

-- 
Tell me and I forget. Teach me and I remember. Involve me and I understand. -- Benjamin Franklin


More information about the Digitalmars-d mailing list