Quote:
Originariamente inviato da Cobra78
Una domanda che mi sorge da tempo: che vantaggi da abilitare l'opzione "optimize for size" nel menu del kernel quando lo si ricompila?
Leggendo la descrizione dice che passa al compilatore il parametro Os invece che O2, ma cosa significano questi parametri?
Grazie in anticipo 
|
dal manuale del gcc:
[quote]
-Os Optimize for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size.
-Os disables the following optimization flags: -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version
[/code]
In pratica -Os non abilita una serie di ottimizzazioni presenti in -O2 che pur migliorando le prestazioni portano ad una dimensione maggiore dell'eseguibile. Sarebbe interessante vedere all'atto pratico la differenza di prestazioni, visto che le minori ottimizzazioni dovrebbero almeno parzialmente venir compensate da uno sfruttamento migliore della cache del processore,