L'art d'écrire des programmes efficaces
446 pages
French
PDF
4.5

L'art d'écrire des programmes efficaces

L'art d'écrire des programmes efficaces

Auteur :

Année :

Résumé :

Introduction

Le livre « The Art of Writing Efficient Programs » (en traduction russe — « L'art d'écrire des programmes efficaces ») de Fiodor Pikus n'est pas simplement un énième manuel sur le C++. C'est une plongée profonde dans le monde de la performance, de l'optimisation et des décisions architecturales qui transforment un code ordinaire en un outil hautement performant. Publié en 2021 par Packt, ce livre de 446 pages est devenu un guide de référence pour de nombreux développeurs cherchant à tirer le maximum de l'équipement moderne.

Fiodor Pikus est un expert reconnu dans le domaine du calcul haute performance, ayant travaillé chez Google et d'autres géants de la technologie. Son expérience et son approche pratique des problèmes de performance rendent ce livre unique. Contrairement à de nombreux ouvrages théoriques abstraits, Pikus propose des méthodes concrètes et éprouvées, étayées par des exemples en C++.

De quoi parle ce livre ?

Le livre est consacré à l'art de créer des programmes qui fonctionnent le plus rapidement et le plus efficacement possible, en utilisant les ressources du processeur, de la mémoire et du sous-système d'entrée-sortie avec le meilleur rendement. L'auteur aborde successivement les aspects clés de la performance, des bases aux techniques avancées.

Les principaux thèmes abordés dans le livre :

  • Mesure de la performance : comment profiler correctement le code, interpréter les résultats et trouver les goulots d'étranglement.
  • Optimisation de la mémoire : mémoire cache, alignement des données, localité des références, gestion de la mémoire dynamique.
  • Parallélisme et multithreading : utilisation efficace des threads, synchronisation, évitement des courses de données et des deadlocks.
  • Optimisation des algorithmes : choix des structures de données appropriées, complexité algorithmique et son impact sur la performance réelle.
  • Vectorisation et SIMD : utilisation des instructions du processeur pour le traitement parallèle des données.
  • Travail avec le compilateur : comment aider le compilateur à générer un code plus rapide, clés d'optimisation, inlining.
  • Conception pour la performance : patrons architecturaux qui intègrent dès le départ une vitesse d'exécution élevée.

À qui s'adresse ce livre ?

Le livre s'adresse aux développeurs ayant déjà une expérience de programmation en C++ (ou dans un autre langage système) et souhaitant passer au niveau supérieur — celui de la création d'applications véritablement rapides et efficaces. Il sera utile :

  • Aux développeurs de jeux et de moteurs graphiques.
  • Aux ingénieurs travaillant sur des serveurs à forte charge et des bases de données.
  • Aux spécialistes des systèmes embarqués et de l'IoT.
  • À tous ceux qui écrivent du code pour des calculs financiers, scientifiques ou d'ingénierie.
  • Aux étudiants en dernière année de filières techniques étudiant la programmation système.

Que va apprendre le lecteur ?

Après avoir lu le livre, le lecteur sera capable de :

  • Évaluer correctement la performance de son code à l'aide de profileurs (perf, Valgrind, Google Benchmark).
  • Comprendre comment fonctionne la mémoire cache du processeur et écrire du code qui l'utilise au maximum.
  • Gérer efficacement la mémoire, en évitant la fragmentation et les allocations inutiles.
  • Écrire du code multithread sûr et rapide en utilisant des primitives de synchronisation modernes.
  • Appliquer les instructions SIMD pour accélérer les calculs de 2 à 4 fois sans perdre en lisibilité du code.
  • Choisir les structures de données optimales (std::vector vs std::list, tables de hachage, arbres) pour une tâche donnée.
  • Utiliser les fonctionnalités de C++17/20 (par exemple, std::optional, std::variant, constexpr) pour améliorer la performance.
  • Concevoir une architecture d'application qui est dès le départ orientée vers une vitesse d'exécution élevée.

Points forts du livre

Le livre de Fiodor Pikus se distingue des autres ouvrages sur l'optimisation grâce à plusieurs caractéristiques clés :<

Recommendations