Il est dit que compiler GNU outils et noyau Linux avec -O3
Option d'optimisation du GCC produira des bugs bizarres et funky. Est-ce vrai? Quelqu'un a-t-il essayé ou est-ce juste un canular?
Il est utilisé dans Gentoo et je n'ai rien remarqué inhabituel.
-O3
a plusieurs inconvénients:
-O2
ou -Os
. Parfois, cela produit un code plus long en raison de la dérive de boucle, ce qui peut être plus lent en raison de pire performance de cache du code.-O3
.-O3
Flag sera non modifier le coût du changement de contexte ou la vitesse des E/S. Je ne pense pas que quelque chose comme <0,1% de vitesse de performance globale en vaut la peine.Au cours des 10 dernières années, j'ai exécuté plusieurs systèmes Gentoo avec 1000 packages en utilisant -O3 -march=native
Globalement et je n'ai pas encore rencontré de ces problèmes de stabilité mythiques que -O3
Est censé avoir. Les critères de référence des applications intensives de la CPU (comme des applications mathématiques/science) montrent systématiquement -O3
Pour produire du code plus rapide, après tout ce serait inutile si ce serait inutile. Pour une majorité d'applications de bureau CFLAGS
_ Peu importe de toute façon, car ils sont IO liés, mais cela compte beaucoup pour les trucs latéraux du serveur liés à la CPU.
-O3 utilise des optimisations agressives qui ne sont sûres que si certaines hypothèses sur le registre utilisent, comment les cadres de pile sont interagi avec et que la réentruisance de la fonction est vraie, et ces hypothèses ne sont pas garanties pour être vraies dans certains codes, comme le noyau, en particulier lorsque le noyau est en particulier lorsque l'assemblage en ligne est utilisé (comme dans certaines parties de niveau très bas du noyau et de ses modules de pilote).
Bien que vous puissiez vous échapper avec l'utilisation -O3 et d'autres boutons d'optimisation sur la plupart des applications (et celle-ci CAN Résultat à des améliorations de vitesse), j'hésiterais à utiliser de tels modifications le noyau lui-même ou sur la chaîne d'outils requise pour la construire (compilateur, binutils, etc.).
Pensez-y: est un gain de performance de 5% des sous-systèmes RAID et EXT3 d'une valeur de système de système ou de perte de données potentielle et/ou de corruption?
Tweak Tous les boutons à souhaiter pour ce port de séquence que vous jouez ou les codecs audio/vidéo que vous utilisez pour déchirer votre collection de DVD aux fichiers DivX. Vous verrez probablement une amélioration. Il suffit de ne pas gâcher le noyau que si vous avez le temps de perdre du temps et que vous pouvez supporter de perdre.