Bei der Compileroptimierung wird ein Compiler angepasst, um die Laufzeit oder die Objektgröße oder beides zu reduzieren. Dies kann mithilfe von Compiler-Argumenten (z. B. CFLAGS, LDFLAGS), Compiler-Plugins (z. B. DEHYDRA) oder direkten Änderungen am Compiler (z. B. Ändern des Quellcodes) erreicht werden.