Die Kunst des Schreibens effizienter Programme: Ein Leitfaden für fortgeschrittene Programmierer zur effizienten Hardware-Nutzung und Compiler-Optimierung anhand von C++-Beispielen

Bewertung:   (4,6 von 5)

Die Kunst des Schreibens effizienter Programme: Ein Leitfaden für fortgeschrittene Programmierer zur effizienten Hardware-Nutzung und Compiler-Optimierung anhand von C++-Beispielen (G. Pikus Fedor)

Leserbewertungen

Derzeit gibt es keine Leserbewertungen. Die Bewertung basiert auf 75 Stimmen.

Originaltitel:

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

Inhalt des Buches:

Lernen Sie verschiedene Techniken zur Leistungsverbesserung kennen, z. B. Gleichzeitigkeit, sperrfreie Programmierung, atomare Operationen, Parallelität und Speicherverwaltung.

Hauptmerkmale:

⬤ Verstehen Sie die Grenzen moderner CPUs und deren Auswirkungen auf die Leistung.

⬤ Finden Sie heraus, wie Sie das Schreiben von ineffizientem Code vermeiden und die besten Optimierungen vom Compiler erhalten können.

⬤ Lernen Sie die Kompromisse und Kosten beim Schreiben von Hochleistungsprogrammen kennen.

Buchbeschreibung:

Die Zeiten, in denen sich die Leistung von selbst einstellte, sind vorbei. Bis vor kurzem wurden Programme von selbst schneller, wenn die CPUs aufgerüstet wurden, aber das ist nicht mehr der Fall. Die Taktfrequenz neuer Prozessoren hat fast ihren Höchststand erreicht. Neue Architekturen bringen zwar kleine Verbesserungen für bestehende Programme, aber das hilft nur wenig. Die Prozessoren werden zwar größer und leistungsfähiger, aber der größte Teil dieser neuen Leistung wird durch die erhöhte Anzahl von Rechenkernen und anderen "zusätzlichen" Recheneinheiten verbraucht. Um effiziente Software zu schreiben, muss man jetzt wissen, wie man programmiert, indem man die verfügbaren Rechenressourcen gut nutzt, und dieses Buch wird Ihnen zeigen, wie man das macht.

Das Buch behandelt alle wichtigen Aspekte des Schreibens effizienter Programme, wie z. B. die effiziente Nutzung von CPU-Ressourcen und Speicher, die Vermeidung unnötiger Berechnungen, die Messung der Leistung und den sinnvollen Einsatz von Gleichzeitigkeit und Multithreading. Sie lernen auch etwas über Compiler-Optimierungen und wie Sie die Programmiersprache (C)+) effizienter nutzen können. Schließlich werden Sie verstehen, wie sich Designentscheidungen auf die Leistung auswirken.

Am Ende dieses Buches werden Sie nicht nur genug Wissen über Prozessoren und Compiler haben, um effiziente Programme zu schreiben, sondern Sie werden auch verstehen, welche Techniken Sie verwenden und was Sie messen müssen, um die Leistung zu verbessern. Im Kern geht es in diesem Buch darum, zu lernen, wie man lernt.

Was Sie lernen werden:

⬤ Entdecken Sie, wie Sie die Hardware-Ressourcen in Ihren Programmen effektiv nutzen können.

⬤ Verstehen Sie die Beziehung zwischen Speicheranordnung und Speicherbarrieren.

⬤ Machen Sie sich mit den Leistungsauswirkungen verschiedener Datenstrukturen und -organisationen vertraut.

⬤ Bewerten Sie die Leistungsauswirkungen von gleichzeitigen Speicherzugriffen und wie Sie diese minimieren können.

⬤ Entdecken Sie, wann Sie sperrfreie Programmiertechniken verwenden sollten und wann nicht.

⬤ Erforschen Sie verschiedene Möglichkeiten zur Verbesserung der Wirksamkeit von Compiler-Optimierungen.

⬤ Entwerfen Sie APIs für nebenläufige Datenstrukturen und Hochleistungsdatenstrukturen, um Ineffizienzen zu vermeiden.

Für wen dieses Buch gedacht ist:

Dieses Buch richtet sich an erfahrene Entwickler und Programmierer, die an leistungskritischen Projekten arbeiten und verschiedene Techniken zur Verbesserung der Leistung ihres Codes erlernen möchten. Programmierer, die in den Bereichen algorithmischer Handel, Spiele, Bioinformatik, Computational Genomics oder Computational Fluid Dynamics tätig sind, können aus diesem Buch verschiedene Techniken lernen und sie in ihrem Arbeitsbereich anwenden.

Obwohl in diesem Buch die Sprache C++ verwendet wird, können die im Buch demonstrierten Konzepte leicht auf andere kompilierte Sprachen wie C, Java, Rust, Go und andere übertragen oder angewendet werden.

Weitere Daten des Buches:

ISBN:9781800208117
Autor:
Verlag:
Sprache:Englisch
Einband:Taschenbuch

Kauf:

Derzeit verfügbar, auf Lager.

Ich kaufe es!

Weitere Bücher des Autors:

Hands-On Design Patterns with C++: Lösen Sie gängige C++-Probleme mit modernen Design Patterns und...
Ein umfassendes Handbuch, das Konzepte wie OOP,...
Hands-On Design Patterns with C++: Lösen Sie gängige C++-Probleme mit modernen Design Patterns und erstellen Sie robuste Anwendungen - Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications
Die Kunst des Schreibens effizienter Programme: Ein Leitfaden für fortgeschrittene Programmierer zur...
Lernen Sie verschiedene Techniken zur...
Die Kunst des Schreibens effizienter Programme: Ein Leitfaden für fortgeschrittene Programmierer zur effizienten Hardware-Nutzung und Compiler-Optimierung anhand von C++-Beispielen - 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 mit C++ - Zweite Ausgabe: Lösen Sie gängige C++-Probleme mit modernen...
Ein umfassendes Handbuch, das Konzepte wie OOP,...
Hands-On Design Patterns mit C++ - Zweite Ausgabe: Lösen Sie gängige C++-Probleme mit modernen Entwurfsmustern und erstellen Sie robuste Anwendungen - Hands-On Design Patterns with C++ - Second Edition: Solve common C++ problems with modern design patterns and build robust applications

Die Werke des Autors wurden von folgenden Verlagen veröffentlicht: