Performance

Option de compilation -Ofast et assimilés

Ne jamais inclure de fichier C si on souhaite avoir des optimisations d’inlinage de fonctions mais preferer optimisations lors de l’édition de lien (link time optimisations) : -flto sur gcc, /GL et /LTCG sur MSVC

https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto 🌍⤴

Et generalement toutes les options presentes sur cette page qui permettent des optimisations agressives.

Pour Microsoft on peut utiliser des optimisations instrumentées

https://learn.microsoft.com/en-us/cpp/build/profile-guided-optimizations?view=msvc-170#optimizations-performed-by-pgo 🌍⤴

La regle generale est de se renseigner sur les capacités du compilateur utilisé.

Compilateurs spécifiques

Intel, ARM, AMD founrissent des ccompilateurs qui produisent du code machine compastible avec les évolutions les plus récentes de leurs materiels respectifs, là où les compilateurs gratuits et grand public produisent du code compatible avec les machines les plus répandues et non forcément les plus récentes. Le code le plus performant sera probablement celui pourni par l’ICC, l’AOCC ou l’Arm compiler.