Leistung von C++-Anwendungen: Von der Theorie zur Praxis
300 Seiten
German
PDF
4.5

Leistung von C++-Anwendungen: Von der Theorie zur Praxis

Leistung von C++-Anwendungen: Von der Theorie zur Praxis

Autor:

Jahr:

Zusammenfassung:

Das Buch „Leistung von C++-Anwendungen“ ist ein praktischer Leitfaden für Entwickler, die das Maximum aus ihrem Code herausholen möchten. Im Gegensatz zu Lehrbüchern über die Grundlagen der Sprache konzentriert sich dieses Buch auf Engpässe, Hardware-Besonderheiten und moderne Optimierungsmethoden, die in hochbelasteten Systemen, Spiele-Engines, Finanzanwendungen und der Embedded-Entwicklung eingesetzt werden.



Für wen ist dieses Buch?

  • Für C++-Entwickler mit mindestens 2 Jahren Erfahrung, die auf das nächste Level wechseln möchten.
  • Für Ingenieure, die an latency-sensitive Anwendungen arbeiten (Handelssysteme, Streaming, Echtzeitgrafik).
  • Für technische Leiter, die architektonische Entscheidungen zur Leistung treffen.
  • Für fortgeschrittene Studenten, die sich mit Systemprogrammierung befassen.


Was Sie aus dem Buch lernen werden:

  • Profiling: Wie man perf, Valgrind, Intel VTune, Google Benchmark richtig einsetzt. Sie lernen, echte Engpässe zu finden, anstatt zu raten.
  • Speicher: Cache-Fehltreffer, Datenausrichtung, Speicherpools, custom allocators. Erfahren Sie, warum std::vector selbst bei häufigen Einfügungen schneller sein kann als std::list.
  • Algorithmen und Datenstrukturen: Auswahl des richtigen Containers, Optimierung von Hash-Tabellen, Flat-Container, Verwendung von SOA (Struct of Arrays) anstelle von AOS.
  • Parallelität: Lock-free Strukturen, atomare Operationen, korrekte Verwendung von std::async und Thread-Pools. Vermeidung von data races und false sharing.
  • Compiler: Wie man Assembler-Listing liest, Optimierungsflags, Hinweise __restrict, likely/unlikely, Makros für branch prediction.
  • Modernes C++: Move-Semantik, copy elision, constexpr und Metaprogrammierung für Berechnungen zur Compile-Zeit.


Das Buch ist nach dem Prinzip „vom Problem zur Lösung“ aufgebaut. Jedes Kapitel beginnt mit einem realen Beispiel für langsamen Code, gefolgt von einer Ursachenanalyse und einer schrittweisen Optimierung mit Geschwindigkeitsmessung. Alle Beispiele sind auf GitHub verfügbar und unter GCC und Clang unter Linux und Windows getestet.



Besonderes Augenmerk liegt auf Methoden, die auf modernen Prozessoren (Skylake, Zen 3/4, Apple Silicon) funktionieren. Sie erfahren, warum manche Optimierungen eine 10-fache Steigerung bringen und andere nutzlos sind, und wie Sie keine Zeit mit „Optimierung um der Optimierung willen“ verschwenden.



Dieses Buch ist kein Nachschlagewerk, sondern ein Arbeitswerkzeug. Nach der Lektüre werden Sie in der Lage sein, jedes Projekt sicher zu profilieren, „Flaschenhälse“ zu finden und zu beseitigen, ohne die Lesbarkeit des Codes zu opfern. Empfohlen für alle, die bereits in C++ schreiben und dies schneller tun möchten.

Empfehlungen