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