Tanto per farti un esempio, programma che conta 60 volte fino a un miliardo:
prova.bin - compilazione standard = 83scodice:[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!
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