Pour gérer vos consentements :
Categories: Logiciels

Insolite : décortiquez le code généré par le compilateur du GCC

Matt Godbolt vient de lancer une application web originale : le GCC Explorer permet de voir en quelques clics les instructions assembleur générées par le GCC à partir d’un code source C ou C++. L’objectif de ce programme est de déterminer comment les options de compilations peuvent influer sur le code généré.

Nous avons réalisé divers tests avec le code “sum over array opt”. L’influence des options de compilation –Os (compacité) et –O3 (vitesse) est notable. Avec GCC 4.4.7, le premier cas comprend 24 lignes de code assembleur, pour 64 avec le second. En basculant vers le GCC 4.6.3, une compilation en –O3 génère 91 lignes de code. Optimisations maximales, mais compacité minimale !

Passons à l’architecture processeur ARM. Nous voyons que l’écart entre les différentes options d’optimisation se réduit. Ce phénomène a plusieurs explications : cette architecture processeur RISC 32 bits propose par définition peu de moyens de réduire la taille du code ; le code ARM est naturellement bien optimisé ; cette architecture est moins connue que le x86 et fait donc l’objet d’une moindre attention de la part des développeurs.

Suivre les évolutions du C et du C++

En quelques manipulations, nous avons pu mettre au jour des informations intéressantes (mais évidemment peu surprenantes pour un développeur chevronné).

Matt Godbolt s’est servi de son application pour évaluer l’impact des nouvelles fonctionnalités du C++11 sur le code généré. « Il est agréable de voir comment du code élégant se transforme en code machine beau, et peut-être même assez optimal », constate-t-il.

Dernier point, GCC Explorer est un projet open source, que vous pourrez donc librement télécharger, diffuser et modifier.

Crédit photo : © Rob – Fotolia.com.jpg

Recent Posts

GPT-4o : où, quand et pour qui ?

OpenAI orchestre un déploiement très progressif de GPT-4o, y compris de ses capacités multimodales.

19 heures ago

Nom de domaine : Twitter définitivement remplacé par X

Elon Musk avait racheté le nom de domaine X.com à PayPal en 2017. Depuis juillet 2023,…

1 jour ago

Microsoft propose une délocalisation hors de Chine à ses ingénieurs IA et Cloud

Des centaines d'ingénieurs en IA et cloud travaillant pour Microsoft se voient proposer de quitter…

1 jour ago

Du « Monde » à Reddit, le point sur les partenariats data d’OpenAI

Reddit s'ajoute à la liste des « partenaires data » d'OpenAI. Qui rejoint-il ?

1 jour ago

Comment Younited a appliqué la GenAI au crédit conso

Younited a utilisé PaLM 2 puis Gemini pour catégoriser des transactions bancaires en vue de…

1 jour ago

Processeurs : les États-Unis fabriqueront 30 % des puces avancées d’ici 2032

Les États-Unis vont tripler leur capacité nationale de fabrication de puces et contrôler 30 %…

2 jours ago