L'arte di scrivere programmi efficienti: Guida per programmatori avanzati all'utilizzo efficiente dell'hardware e alle ottimizzazioni del compilatore con esempi di C++

Punteggio:   (4,6 su 5)

L'arte di scrivere programmi efficienti: Guida per programmatori avanzati all'utilizzo efficiente dell'hardware e alle ottimizzazioni del compilatore con esempi di C++ (G. Pikus Fedor)

Recensioni dei lettori

Attualmente non ci sono recensioni dei lettori. La valutazione si basa su 75 voti.

Titolo originale:

The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples

Contenuto del libro:

Conoscere le varie tecniche di miglioramento delle prestazioni come la concorrenza, la programmazione senza lock, le operazioni atomiche, il parallelismo e la gestione della memoria.

Caratteristiche principali:

⬤ Comprendere i limiti delle moderne CPU e il loro impatto sulle prestazioni.

⬤ Scoprire come evitare di scrivere codice inefficiente e ottenere le migliori ottimizzazioni dal compilatore.

⬤ Apprendere i compromessi e i costi della scrittura di programmi ad alte prestazioni.

Descrizione del libro:

Il grande pranzo gratis delle "prestazioni che si prendono cura di se stesse" è finito. Fino a poco tempo fa, i programmi diventavano più veloci da soli con l'aggiornamento delle CPU, ma ora non è più così. La frequenza di clock dei nuovi processori ha quasi raggiunto il massimo. Le nuove architetture apportano piccoli miglioramenti ai programmi esistenti, ma questo aiuta solo in minima parte. I processori diventano sempre più grandi e potenti, ma la maggior parte di questa nuova potenza viene consumata dall'aumento del numero di core di elaborazione e di altre unità di calcolo "extra". Per scrivere software efficiente, è necessario saper programmare facendo buon uso delle risorse di calcolo disponibili e questo libro vi insegnerà come farlo.

Il libro affronta tutti gli aspetti principali della scrittura di programmi efficienti, come l'uso efficiente delle risorse della CPU e della memoria, l'evitamento di calcoli non necessari, la misurazione delle prestazioni e l'utilizzo di concurrency e multithreading. Imparerete anche a conoscere le ottimizzazioni del compilatore e a utilizzare il linguaggio di programmazione (C)+) in modo più efficiente. Infine, capirete come le decisioni di progettazione influiscono sulle prestazioni.

Alla fine di questo libro, non solo avrete una conoscenza sufficiente dei processori e dei compilatori per scrivere programmi efficienti, ma sarete anche in grado di capire quali tecniche utilizzare e cosa misurare per migliorare le prestazioni. In sostanza, questo libro si occupa di imparare a imparare.

Che cosa imparerete?

⬤ Scoprire come utilizzare efficacemente le risorse di calcolo hardware nei programmi.

⬤ Capire la relazione tra ordine di memoria e barriere di memoria.

⬤ Familiarizzare con le implicazioni sulle prestazioni delle diverse strutture e organizzazioni di dati.

⬤ Valutare l'impatto sulle prestazioni dell'accesso simultaneo alla memoria e come ridurlo al minimo.

⬤ Scoprire quando usare e quando non usare le tecniche di programmazione lock-free.

⬤ Esplorare diversi modi per migliorare l'efficacia delle ottimizzazioni del compilatore.

⬤ Progettare API per strutture dati concorrenti e strutture dati ad alte prestazioni per evitare inefficienze.

A chi è rivolto questo libro:

Questo libro si rivolge a sviluppatori e programmatori esperti che lavorano su progetti critici dal punto di vista delle prestazioni e che vogliono imparare diverse tecniche per migliorare le prestazioni del loro codice. I programmatori che appartengono alle comunità del trading algoritmico, dei giochi, della bioinformatica, della genomica computazionale o della fluidodinamica computazionale possono apprendere varie tecniche da questo libro e applicarle nel loro ambito di lavoro.

Sebbene questo libro utilizzi il linguaggio C++, i concetti dimostrati nel libro possono essere facilmente trasferiti o applicati ad altri linguaggi compilati come C, Java, Rust, Go e altri ancora.

Altre informazioni sul libro:

ISBN:9781800208117
Autore:
Editore:
Lingua:inglese
Rilegatura:Copertina morbida

Acquisto:

Attualmente disponibile, in magazzino.

Lo compro!

Altri libri dell'autore:

Hands-On Design Patterns with C++: risolvere i problemi comuni del C++ con i moderni design pattern...
Una guida completa con un'ampia trattazione di...
Hands-On Design Patterns with C++: risolvere i problemi comuni del C++ con i moderni design pattern e costruire applicazioni robuste - Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications
L'arte di scrivere programmi efficienti: Guida per programmatori avanzati all'utilizzo efficiente...
Conoscere le varie tecniche di miglioramento...
L'arte di scrivere programmi efficienti: Guida per programmatori avanzati all'utilizzo efficiente dell'hardware e alle ottimizzazioni del compilatore con esempi di C++ - The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
Hands-On Design Patterns with C++ - Seconda edizione: Risolvere i problemi comuni del C++ con i...
Una guida completa con un'ampia copertura di...
Hands-On Design Patterns with C++ - Seconda edizione: Risolvere i problemi comuni del C++ con i moderni design pattern e costruire applicazioni robuste - Hands-On Design Patterns with C++ - Second Edition: Solve common C++ problems with modern design patterns and build robust applications

Le opere dell'autore sono state pubblicate dai seguenti editori:

© Book1 Group - tutti i diritti riservati.
Il contenuto di questo sito non può essere copiato o utilizzato, né in parte né per intero, senza il permesso scritto del proprietario.
Ultima modifica: 2024.11.08 20:28 (GMT)