Производительность C++ приложений: от теории к практике — Алексей Кузнецов — обложка книги
300 страниц
C++
PDF
4.5

Производительность C++ приложений: от теории к практике

Оптимизация кода, профилирование и тонкая настройка современных C++ проектов

Автор:

Год:

Краткое содержимое:

Книга «Производительность C++ приложений» — это практическое руководство для разработчиков, которые хотят выжать максимум из своего кода. В отличие от учебников по основам языка, эта книга сфокусирована на узких местах, аппаратных особенностях и современных методиках оптимизации, которые применяются в высоконагруженных системах, игровых движках, финансовых приложениях и embedded-разработке.

Для кого эта книга?

  • Для C++ разработчиков с опытом от 2 лет, которые хотят перейти на новый уровень.
  • Для инженеров, работающих над latency-sensitive приложениями (торговые системы, стриминг, real-time графика).
  • Для технических лидов, принимающих архитектурные решения по производительности.
  • Для студентов старших курсов, изучающих системное программирование.

Что вы узнаете из книги:

  • Профилирование: как правильно использовать perf, Valgrind, Intel VTune, Google Benchmark. Вы научитесь находить реальные узкие места, а не гадать.
  • Память: кеш-промахи, выравнивание данных, пулы памяти, custom allocators. Узнаете, почему std::vector может быть быстрее std::list даже при частых вставках.
  • Алгоритмы и структуры данных: выбор правильного контейнера, оптимизация хэш-таблиц, flat-контейнеры, использование SOA (Struct of Arrays) вместо AOS.
  • Параллелизм: lock-free структуры, атомарные операции, правильное использование std::async и пулов потоков. Избегание data races и false sharing.
  • Компилятор: как читать ассемблерный листинг, флаги оптимизации, подсказки __restrict, likely/unlikely, макросы для branch prediction.
  • Современный C++: move-семантика, copy elision, constexpr и метапрограммирование для вычислений на этапе компиляции.

Книга построена по принципу «от проблемы — к решению». Каждая глава начинается с реального примера медленного кода, затем следует анализ причин и пошаговая оптимизация с замером скорости. Все примеры доступны на GitHub и протестированы на GCC и Clang под Linux и Windows.

Особое внимание уделено методикам, которые работают на современных процессорах (Skylake, Zen 3/4, Apple Silicon). Вы узнаете, почему одни оптимизации дают 10-кратный прирост, а другие бесполезны, и как не тратить время на «оптимизацию ради оптимизации».

Эта книга — не справочник, а рабочий инструмент. После её прочтения вы сможете уверенно профилировать любой проект, находить «бутылочные горлышки» и устранять их, не жертвуя читаемостью кода. Рекомендуется для тех, кто уже пишет на C++ и хочет делать это быстрее.

Рекомендаций