La semaine dernière, la version mobile openSUSE Tumbleweed est passée au nouveau GCC 12 en tant que compilateur système par défaut et a reconstruit son ensemble de packages dans le cadre de cette mise à niveau annuelle des fonctionnalités vers la collection de compilateurs GNU. Pour les curieux, voici quelques repères avant et après cette transition GCC 12 pour openSUSE Tumbleweed.
L’instantané openSUSE Tumbleweed 20220510 de la semaine dernière est passé au compilateur GCC 12 avec une reconstruction complète des packages du système d’exploitation. GCC 12 apporte de nombreuses nouvelles fonctionnalités, de la prise en charge améliorée du langage C / C ++ / Ada aux fonctionnalités des processeurs nouveaux / à venir comme AVX-512 FP16, les améliorations OpenMP et OpenACC, les améliorations JIT, les améliorations de débogage utiles, et bien plus encore. Il existe également diverses optimisations de performances allant de petits changements à des éléments plus notables comme la vectorisation désormais activée au niveau d’optimisation “-O2” avec le modèle de coût très bon marché.
Curieux de connaître les implications des performances du système d’exploitation pour GCC 12 et, heureusement, ayant eu une installation openSUSE Tumbleweed 20250507 juste avant la transition, j’ai exécuté quelques tests avant / après pour voir l’impact du nouveau compilateur dans divers tests open source construits à partir de la source. comme la performance d’avoir tous les packages du système d’exploitation reconstruits sous ce nouveau compilateur.
Ce test a été effectué sur un serveur Intel Xeon Platinum 8380 2P “Ice Lake”. Aucune autre modification n’a été apportée au système pendant les tests en dehors de la mise à niveau de l’état openSUSE Tumbleweed 20220507 à 20220510 et de la reconstruction des références pertinentes entre les tests.
Sur plus de 100 tests effectués, l’openSUSE Tumbleweed basé sur GCC12 affichait une amélioration globale d’environ 1,6 % par rapport à l’état d’openSUSE Tumbleweed quelques jours auparavant…
Cette vue côte à côte est un aperçu des points de repère où il y avait une différence statistiquement significative dans les deux sens. Comme le montre ceci, dans un certain nombre de domaines spécifiques, il y avait des améliorations très saines à trouver avec openSUSE Tumbleweed sur GCC 12. Python de Tumbleweed reconstruit sous GCC 12 en particulier semble être une grande victoire (probablement en raison de la vectorisation -O2 par défaut, peut-être ). Outre de très fortes améliorations des performances de Python, la bibliothèque de traitement des signaux radio numériques définie par le logiciel Liquid-DSP fonctionnait beaucoup mieux sous GCC 12, le runtime ONNX de Microsoft construit sous GCC 12 connaissait des améliorations avec certains modèles et certains des benchmarks Java avec OpenJDK en cours de reconstruction. au titre de GCC 12 étaient bénéfiques.
Il n’y avait que quelques régressions observées affectant Stress-NG, l’encodage d’image AVIF et quelques autres zones sélectionnées, principalement de petites quantités.
Les performances de Python étaient les plus importantes avec près de 9 % de meilleures performances globales lorsque Python 3 de Tumbleweed a été reconstruit sous GCC 12 plutôt que GCC 11. Cela couvrait les benchmarks Python tels que Numpy, PyBench et PyPerformance.
Pour de nombreux benchmarks HPC lourds comme Incompact3D, Xcompact3D, LAMMPS et GROMACS ont permis d’améliorer les performances globales d’environ 2 %.
Ceux qui souhaitent passer par les plus de 100 tests complets entre ces révisions openSUSE Tumbleweed passant de GCC 11 à GCC 12, consultez cette page de résultats OpenBenchmarking.org. D’après mes tests de GCC 12 sur Tumbleweed, Fedora 36, Clear Linux et construit sur d’autres plates-formes, cette version majeure annuelle de la collection de compilateurs GNU fonctionne assez bien. Il y a des améliorations de performances dans certains domaines, mais aussi les diagnostics améliorés, les améliorations C2X et C++23 et d’autres améliorations en font une mise à jour significative du compilateur.
Si vous avez apprécié cet article, envisagez de rejoindre Phoronix Premium pour afficher ce site sans publicité, des articles de plusieurs pages sur une seule page et d’autres avantages. Les pourboires PayPal sont également acceptés gracieusement. Merci pour votre aide.
.