Tanto per farti un esempio, programma che conta 60 volte fino a un miliardo:

codice:
[maiosyet]@[alcibiade]-[~/Sorci/test_vel] $ ./prova.bin
Sat Mar 12 20:17:38 2005
Finito!

Sat Mar 12 20:19:01 2005
[maiosyet]@[alcibiade]-[~/Sorci/test_vel] $ ./prova2.bin
Sat Mar 12 20:19:23 2005
Finito!
prova.bin - compilazione standard = 83s
prova2.bin - ottimizzato per la mia cpu = 22s

Edit: in questo caso ho compilato prova2.bin utilizzando solamente ottimizzazioni generiche specifiche per il mio processore

Qui l'aumento di prestazioni è del 400% , anche se è chiaro che non sarà sempre così marcato...

Inoltre, se te la sai gestire bene... notiamo che nel mio programma possiamo srotolare il loop con l'apposito parametro ( -funroll-all-loops) ottenendo...
codice:
[maiosyet]@[alcibiade]-[~/Sorci/test_vel] $ ./prova2.bin
Sat Mar 12 20:22:13 2005
Finito!

Sat Mar 12 20:22:14 2005
[maiosyet]@[alcibiade]-[~/Sorci/test_vel] $


Puoi fare riferimento a questa pagina per informazioni dettagliate sulle ottimizzazioni del GCC
http://gcc.gnu.org/onlinedocs/gcc-3....timize-Options