Potential of a compiler that creates the executable at once
max haughton
maxhaton at gmail.com
Sat Feb 12 20:59:08 UTC 2022
On Saturday, 12 February 2022 at 20:22:44 UTC, H. S. Teoh wrote:
> On Sat, Feb 12, 2022 at 07:31:28PM +0000, rempas via
> Digitalmars-d wrote: [...]
>> If you get to a point that runtime becomes too slow for a
>> specific task then I don't think that 20%-40% will make such
>> of a big difference really. There may be cases that even the
>> smallest performance boost will make the difference but were
>> that a lot in your experience?
> [...]
>
> 20%-40% is a HUGE difference. Think about a 60fps 3D game where
> you have only 16ms to update the screen for the next frame. If
> your code takes ~13ms to update a frame when compiled with LDC
> -O2, then compiling D will not even be an option because it
> would not be able to meet the framerate and the game will be
> jerky and unplayable. If the difference is 2% or 3% then there
> may still be room for negotiation. 20%-40% is half an order of
> magnitude. There is no way you can compromise with that.
>
> Also, for long-running CPU-intensive computations, which one
> would you rather have: your complex computation to finish in 2
> days, which may just make the deadline, or ~4 days, which will
> definitely *not* meet the deadline? Again, if the difference
> is 2% or 3% then you may still be able to work with it. 20%-40%
> is unacceptable.
>
>
> T
The thing with dmd isn't just the performance that also it's
quite buggy when it starts optimizing.
Quite a few libraries have a gotcha due to dmd (*especially*
`-inline`) that has to be worked around (the inliner can
basically ignore language semantics which can break NRVO for
example)
More information about the Digitalmars-d
mailing list