Performance des applications C++ : de la théorie à la pratique
300 pages
French
PDF
4.5

Performance des applications C++ : de la théorie à la pratique

Performance des applications C++ : de la théorie à la pratique

Auteur :

Année :

Résumé :

Le livre « Performance des applications C++ » est un guide pratique pour les développeurs qui souhaitent tirer le maximum de leur code. Contrairement aux manuels sur les bases du langage, ce livre se concentre sur les goulots d'étranglement, les spécificités matérielles et les techniques d'optimisation modernes utilisées dans les systèmes à forte charge, les moteurs de jeux, les applications financières et le développement embarqué.



À qui s'adresse ce livre ?

  • Aux développeurs C++ ayant au moins 2 ans d'expérience qui souhaitent passer au niveau supérieur.
  • Aux ingénieurs travaillant sur des applications sensibles à la latence (systèmes de trading, streaming, graphismes en temps réel).
  • Aux responsables techniques prenant des décisions architecturales en matière de performance.
  • Aux étudiants en fin de cycle étudiant la programmation système.


Ce que vous apprendrez dans ce livre :

  • Profilage : comment utiliser correctement perf, Valgrind, Intel VTune, Google Benchmark. Vous apprendrez à trouver les véritables goulots d'étranglement, sans avoir à deviner.
  • Mémoire : défauts de cache, alignement des données, pools mémoire, allocateurs personnalisés. Vous découvrirez pourquoi std::vector peut être plus rapide que std::list même avec des insertions fréquentes.
  • Algorithmes et structures de données : choix du bon conteneur, optimisation des tables de hachage, conteneurs plats, utilisation de SOA (Struct of Arrays) au lieu de AOS.
  • Parallélisme : structures sans verrou, opérations atomiques, utilisation correcte de std::async et des pools de threads. Éviter les data races et le false sharing.
  • Compilateur : comment lire la sortie assembleur, les drapeaux d'optimisation, les indications __restrict, likely/unlikely, les macros pour la prédiction de branche.
  • C++ moderne : sémantique de déplacement, élision de copie, constexpr et métaprogrammation pour les calculs à la compilation.


Le livre est structuré selon le principe « du problème à la solution ». Chaque chapitre commence par un exemple réel de code lent, suivi d'une analyse des causes et d'une optimisation pas à pas avec mesure de la vitesse. Tous les exemples sont disponibles sur GitHub et testés avec GCC et Clang sous Linux et Windows.



Une attention particulière est portée aux techniques qui fonctionnent sur les processeurs modernes (Skylake, Zen 3/4, Apple Silicon). Vous découvrirez pourquoi certaines optimisations offrent un gain décuplé tandis que d'autres sont inutiles, et comment ne pas perdre de temps avec une « optimisation pour l'optimisation ».



Ce livre n'est pas un ouvrage de référence, mais un outil de travail. Après l'avoir lu, vous serez capable de profiler en toute confiance n'importe quel projet, de trouver les « goulots d'étranglement » et de les éliminer sans sacrifier la lisibilité du code. Recommandé pour ceux qui écrivent déjà en C++ et souhaitent le faire plus rapidement.

Recommendations