Производительность 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++ и хочет делать это быстрее.
Рекомендаций
Профессиональный Swift (iOS/macOS): продвинутые техники
Тестирование Java приложений: от юнит-тестов до интеграционных сценариев
Рефакторинг C# (.NET) кода: практическое руководство
Рефакторинг PHP кода: Улучшаем и поддерживаем код
Конкурентность в PHP: Асинхронность, параллелизм и многопоточность на практике
Kotlin Apprentice