Note :
Il n'y a actuellement aucun avis de lecteur. La note est basée sur 75 votes.
The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
Se familiariser avec diverses techniques d'amélioration des performances telles que la concurrence, la programmation sans verrou, les opérations atomiques, le parallélisme et la gestion de la mémoire.
Caractéristiques principales : ⬤ Comprendre les limites des processeurs modernes et leur impact sur les performances.
⬤ Comprendre les limites des processeurs modernes et leur impact sur les performances.
⬤ Découvrez comment éviter d'écrire du code inefficace et obtenir les meilleures optimisations de la part du compilateur.
⬤ Apprenez les compromis et les coûts liés à l'écriture de programmes de haute performance.
Description du livre :
L'époque où les performances s'imposaient d'elles-mêmes est révolue. Jusqu'à récemment, les programmes devenaient plus rapides d'eux-mêmes au fur et à mesure que les processeurs étaient améliorés, mais ce n'est plus le cas aujourd'hui. La fréquence d'horloge des nouveaux processeurs a presque atteint son maximum. Les nouvelles architectures apportent de petites améliorations aux programmes existants, mais cela ne les aide que légèrement. Les processeurs deviennent plus grands et plus puissants, mais la majeure partie de cette nouvelle puissance est consommée par l'augmentation du nombre de cœurs de traitement et d'autres unités de calcul "supplémentaires". Pour écrire des logiciels efficaces, vous devez maintenant savoir comment programmer en faisant bon usage des ressources informatiques disponibles, et ce livre vous apprendra à le faire.
Le livre couvre tous les aspects majeurs de l'écriture de programmes efficaces, tels que l'utilisation efficace des ressources de l'unité centrale et de la mémoire, l'évitement des calculs inutiles, la mesure des performances et la manière d'utiliser la concurrence et le multithreading à bon escient. Vous apprendrez également à optimiser le compilateur et à utiliser le langage de programmation (C)+) de manière plus efficace. Enfin, vous comprendrez l'impact des décisions de conception sur les performances.
À la fin de ce livre, vous aurez non seulement une connaissance suffisante des processeurs et des compilateurs pour écrire des programmes efficaces, mais vous serez également en mesure de comprendre quelles techniques utiliser et ce qu'il faut mesurer pour améliorer les performances. Au fond, ce livre a pour but d'apprendre à apprendre.
Ce que vous apprendrez
⬤ Découvrir comment utiliser efficacement les ressources informatiques matérielles dans vos programmes.
⬤ Comprendre la relation entre l'ordre et les barrières de la mémoire.
⬤ Se familiariser avec les implications en termes de performances des différentes structures et organisations de données.
⬤ Évaluer l'impact sur les performances des accès simultanés à la mémoire et comment le minimiser.
⬤ Découvrir quand utiliser et quand ne pas utiliser les techniques de programmation sans verrou.
⬤ Explorer les différentes façons d'améliorer l'efficacité des optimisations du compilateur.
⬤ Concevoir des API pour les structures de données concurrentes et les structures de données à haute performance afin d'éviter les inefficacités.
A qui s'adresse ce livre :
Ce livre s'adresse aux développeurs et programmeurs expérimentés qui travaillent sur des projets critiques en termes de performances et qui souhaitent apprendre différentes techniques pour améliorer les performances de leur code. Les programmeurs qui appartiennent aux communautés du trading algorithmique, des jeux, de la bio-informatique, de la génomique computationnelle ou de la dynamique des fluides computationnelle peuvent apprendre diverses techniques dans ce livre et les appliquer dans leur domaine de travail.
Bien que ce livre utilise le langage C++, les concepts démontrés dans le livre peuvent être facilement transférés ou appliqués à d'autres langages compilés tels que C, Java, Rust, Go, et plus encore.
© Book1 Group - tous droits réservés.
Le contenu de ce site ne peut être copié ou utilisé, en tout ou en partie, sans l'autorisation écrite du propriétaire.
Dernière modification: 2024.11.14 07:32 (GMT)