gdc or ldc for faster programs?
Elronnd
elronnd at elronnd.net
Tue Jan 25 22:41:35 UTC 2022
On Tuesday, 25 January 2022 at 22:33:37 UTC, H. S. Teoh wrote:
> interesting because idivl is known to be one of the slower
> instructions, but gdc nevertheless considered it not worthwhile
> to replace it, whereas ldc seems obsessed about avoid idivl at
> all costs.
Interesting indeed. Two remarks:
1. Actual performance cost of div depends a lot on hardware.
IIRC on my old intel laptop it's like 40-60 cycles; on my newer
amd chip it's more like 20; on my mac it's ~10. GCC may be
assuming newer hardware than llvm. Could be worth popping on a
-march=native -mtune=native. Also could depend on how many ports
can do divs; i.e. how many of them you can have running at a time.
2. LLVM is more aggressive wrt certain optimizations than gcc, by
default. Though I don't know how relevant that is at -O3.
More information about the Digitalmars-d-learn
mailing list