Par défaut gcc va le plus vite possible pour compiler, mais le code produit n'est pas le plus rapide. Quand le projet est bien avancé, c'est-à-dire qu'on commence à tester ses performances, on peut demander à gcc de passer plus de temps (deux ou trois fois plus) à la compilation pour produire un code machine optimisé en rajoutant l'option -O2.
Il y a même des niveaux d'optimisation supérieurs, mais attention, le code produit risque de ne pas marcher dans certains cas car il est réorganisé par rapport à l'original, ce qui a comme autre effet d'empêcher l'utilisation d'un debuggeur, il n'est donc pas conseillé d'utiliser l'optimisation pendant le développement.