utiliD: A library with absolutely no dependencies for bare-metal programming and bootstrapping other D libraries

H. S. Teoh hsteoh at quickfur.ath.cx
Sat May 11 00:32:54 UTC 2019

On Sat, May 11, 2019 at 12:23:31AM +0000, Mike Franklin via Digitalmars-d-announce wrote:
> Also, take a look at this data:
> https://forum.dlang.org/post/jdfiqpronazgglrkmwfq@forum.dlang.org  Why
> is DMD making 48,000 runtime calls to memcpy to copy 8 bytes of data?
> Many of those calls should be inlined.  I see opportunity for
> improvement there.

When it comes to performance, I've essentially given up looking at DMD
output. DMD's inliner gives up far too easily, leading to a lot of calls
that aren't inlined when they really should be, and DMD's optimizer does
not have loop unrolling, which excludes a LOT of subsequent
optimizations that could have been applied.  I wouldn't base any
performance decisions on DMD output. If LDC or GDC produces non-optimal
code, then we have cause to do something. Otherwise, IMO we're just
uglifying D code and making it unmaintainable for no good reason.


Recently, our IT department hired a bug-fix engineer. He used to work for Volkswagen.

More information about the Digitalmars-d-announce mailing list