Als Gentoo Benutzer habe ich einige Optimierungen auf dem gesamten Betriebssystem versucht und es gab endlose Diskussionen über die Gentoo forums darüber. Einige gute Flaggen für GCC finden Sie in der wiki.
Kurz gesagt, die Optimierung der Größe funktionierte am besten auf einem alten Pentium3-Laptop mit begrenztem RAM, aber auf meiner Haupt-Desktop-Maschine mit einem Core2Duo lieferte -O2 insgesamt bessere Ergebnisse.
Es gibt auch eine small script, wenn Sie an den x86 (32 Bit) spezifischen Flags interessiert sind, die am meisten optimiert sind.
Wenn Sie gcc verwenden und wollen wirklich eine bestimmte Anwendung zu optimieren, versuchen ACOVEA. Es führt eine Reihe von Benchmarks aus und kompiliert sie dann mit allen möglichen Kombinationen von Kompilierungsflags neu. Es ist ein Beispiel unter Verwendung von Huffman-Kodierung auf der Website (weniger ist besser):
A relative graph of fitnesses:
Acovea Best-of-the-Best: ************************************** (2.55366)
Acovea Common Options: ******************************************* (2.86788)
-O1: ********************************************** (3.0752)
-O2: *********************************************** (3.12343)
-O3: *********************************************** (3.1277)
-O3 -ffast-math: ************************************************** (3.31539)
-Os: ************************************************* (3.30573)
(Beachten Sie, dass es -Os am langsamsten auf diesem Opteron-System erwiesen.)
Der erste Satz Ihrer Antwort erinnert mich an http://web.archive.org/web/20041230075641/http://www.funroll-loops.org/ –