optimalizálás Flashcards
-00
Nincs optimalizálás: A C forrás minden egyes művelete le
lesz fordítva assemblyre, még akkor is, ha az nyilvánvalóan
felesleges. Ez általában nagyon nagy és lassú gépi kódot
eredményez, viszont hibakeresésnél igen hasznos, hiszen
minden egyes gépi kódú utasításról egyértelműen
megmondható, hogy az eredetileg melyik C-beli művelethez
tartozott.
-01
Alapvető optimalizálás: A C fordító elvégzi azokat az
optimalizálásokat amik mind a méretet, mind a futási időt
csökkentik, de a fordítási időt nem növelik meg jelentős
mértékben
-02
Optimalizálás méretre és futásidőre: A C fordító elvégzi
azokat az optimalizálásokat amik sem a méretre, sem a
futásidőre nincsenek jelentős negatív hatással.
-03
Optimalizálás futásidőre: A C fordító elvégzi azokat a
futásidőre optimalizáló algoritmusokat is, amik jelentősen
növelhetik a kód méretét.
-Ofast
Aggresszív optimalizálás sebességre: A C fordító az O3-as
optimalizálásokon felül a standardoknak nem megfelelő
átalakításokat is elvégez.
-Os
Méretre optimalizálás: A C fordító az O2-es
optimalizálások közül kihagyja azokat amelyek tipikusan
méretet növelnek, de elvégez olyan plusz átalakításokat amik
csökkentik a kód méretét, tekintet nélkül a futási időre
gyakorolt hatásuktól.
-Og
Optimalizálás debuggolásra: A C fordító azokat az
átalakításokat végzi csak el, amikkel a program még szépen
debuggolható marad.