kompilatoroptimalisering
Kompilatoroptimalisering er prosesser der en kompilator transformerer et program for å forbedre ytelse og/eller redusere ressursbruk uten å endre programmets funksjonelle atferd. Optimiseringer skjer vanligvis under kompilasjonen og kan aktiveres med spesifikke flagg eller innstillinger, for eksempel lavere eller høyere optimeringsnivåer som -O2 eller -O3 i mange språk. Hensikten er å redusere kjøretid, minnebruk og/eller kode størrelse samtidig som riktig oppførsel bevares.
Typiske teknikker inkluderer konstantfolding, konstant propagasjon, død kode-eliminering, eliminering av felles uttrykk, flytting av loopinvariante uttrykk,
Selv om begrepet ofte brukes om statisk kompilering, finnes det også dynamisk optimering i JIT-motorer som
Ytelsen varierer med språk, kildekode og målarkitektur. Ikke alle optimeringer gir forbedring for alle programmer, og