If Zortech C++ and dmc++ are fast, why is dmd's asm slow?

Luís Ferreira contact at lsferreira.net
Mon May 31 20:33:08 UTC 2021


On Sunday, 30 May 2021 at 12:43:22 UTC, Abdulhaq wrote:
> On Saturday, 29 May 2021 at 23:43:48 UTC, James Lu wrote:
>> On Saturday, 29 May 2021 at 23:36:34 UTC, Adam D. Ruppe wrote:
>>> On Saturday, 29 May 2021 at 23:34:47 UTC, James Lu wrote:
>>>> If Zortech C++ and dmc++ are fast, why is dmd's asm slow? I 
>>>> thought they used the same machine code backend.
>>>
>>> They were fast in 1988. Even in 1998.
>>>
>>> But since then they've only gotten a little better, whereas 
>>> the competition has gotten a LOT better.
>>
>> That makes sense.
>>
>> Why does DMD only have a -O flag, not a -O2?
>>
>> The competition got heavier– slower compiles, too.
>>
>> I wonder if it could be possible to get some CS PhD candidate 
>> to work on dmc++ to bring its backend up to modern standards.
>
> Why stop at -O2? The languages of the future will go to -O11.

A higher level of optimizations doesn't necessarily mean better. 
With GCC, real-world applications may perform better with -O2 
than -O3. A lot of optimizations performed on -O3 may be too 
aggressive depending on the type of operations, size and other 
complex variables in the equation.

A practical example of this situation is present in Arch Linux. 
Every package is compiled with -O2 optimizations. See 
https://github.com/archlinux/devtools/blob/master/makepkg-x86_64.conf#L42 .


More information about the Digitalmars-d mailing list