Konstant Folding

Uttrykk med konstante operander kan evalueres ved kompileringstid, og dermed forbedre kjøretidsytelsen og redusere kodestørrelsen ved å unngå evaluering ved kompileringstid.

Eksempel:

i kodefragmentet nedenfor kan uttrykket (3 + 5) evalueres ved kompileringstid og erstattes med konstanten 8.

int f (void){ return 3 + 5;} 

Nedenfor er kodefragmentet etter konstant folding.

int f (void){ return 8;} 

Merknader:

Konstant folding er en relativt enkel optimalisering.

Programmerere skriver vanligvis ikke uttrykk som (3 + 5) direkte, men disse uttrykkene er relativt vanlige etter makroutvidelse og andre optimaliseringer som konstant forplantning.

Alle c-kompilatorer kan brette heltallskonstante uttrykk som er til stede etter makroutvidelse (ANSI c-krav). De Fleste c kompilatorer kan kaste heltall konstant uttrykk som er innført etter andre optimaliseringer.

Noen miljøer støtter flere flyttallsrundemoduser som kan endres dynamisk under kjøring. I disse miljøene må uttrykk som (1.0 / 3.0) evalueres under kjøring hvis avrundingsmodus ikke er kjent ved kompileringstid.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.