Écrire du C++ efficace : les bonnes pratiques

Original : Writing Efficient C++ Code (2013)

Pourquoi c'est important

La performance logicielle reste un enjeu industriel, des jeux aux serveurs en passant par l'edge computing.

Un article de 2013 issu du magazine Programista détaille comment tirer le maximum des performances en C++. Face aux langages interprétés, le C++ reste incontournable pour les jeux, les systèmes temps réel et les appareils à ressources limitées.

Publié à l'origine en polonais dans le numéro 4/2013 de Programista, cet article d'Adam Sawicki expose pourquoi le C++ reste une référence quand la performance est non négociable. Le langage occupe une position singulière : assez haut niveau pour offrir la POO et la STL, assez bas niveau pour éviter toute couche intermédiaire (machine virtuelle, garbage collector). L'auteur rappelle que la performance compte autant dans les datacenters — où électricité et refroidissement pèsent lourd — que sur smartphones ou consoles, dont le matériel est figé. Il aborde ensuite le Data-Oriented Design comme alternative pragmatique à la POO classique. Trop souvent, la modélisation orientée objet favorise l'abstraction au détriment de la localité des données en mémoire, ce qui plombe les performances réelles. Connaître le fonctionnement interne du compilateur et du cache CPU devient alors aussi important que maîtriser la syntaxe du langage.

Source

asawicki.info — Lire l'original →