gdc or ldc for faster programs?
Siarhei Siamashka
siarhei.siamashka at gmail.com
Mon Jan 31 10:33:49 UTC 2022
On Monday, 31 January 2022 at 08:54:16 UTC, Patrick Schluter
wrote:
> -O3 often chooses longer code and unrollsmore agressively
> inducing higher miss rates in the instruction caches.
> -O2 can beat -O3 in some cases when code size is important.
One of the historical reasons for favoring -O2 optimization level
over -O3 was the necessity for Linux distributions to fit on a CD
or DVD. Also if everyone is using -O2 optimizations, then -O3
optimizations get a lot less testing coverage and are more likely
to have compiler bugs. This makes -O2 even more attractive for
those, who prefer safety and stability...
I think that it's a good thing that LDC is breaking out of this
-O2 vs. -O3 dilemma by just mapping "-O" option to -O3
("aggressive optimizations"):
Setting the optimization level:
-O - Equivalent to -O3
--O0 - No optimizations
(default)
--O1 - Simple optimizations
--O2 - Good optimizations
--O3 - Aggressive
optimizations
--O4 - Equivalent to -O3
--O5 - Equivalent to -O3
--Os - Like -O2 with extra
optimizations for size
--Oz - Like -Os but
reduces code size further
I wonder if GDC can do the same?
More information about the Digitalmars-d-learn
mailing list