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

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

Оптимизация кода, профилирование и высоконагруженные системы

Автор:

Год:

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

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

О чем эта книга?

  • Профилирование и бенчмаркинг: Вы узнаете, как правильно измерять производительность с помощью инструментов (perf, Valgrind, Google Benchmark), интерпретировать результаты и находить «бутылочные горлышки».
  • Работа с памятью: Эффективное управление памятью, кэш-промахи, аллокаторы, move-семантика и избегание копирования. Разберем, как уменьшить фрагментацию и ускорить доступ к данным.
  • Алгоритмы и структуры данных: Как выбрать правильный контейнер (std::vector vs std::list, flat_map, мелкие оптимизации), когда использовать хеш-таблицы, а когда — деревья.
  • Многопоточность и конкурентность: Параллельные алгоритмы, синхронизация (мьютексы, атомики, lock-free структуры), пулы потоков и работа с std::async.
  • Оптимизация компилятора: Ключевые флаги компиляции (O2, O3, LTO), понимание ассемблерного вывода, инлайнинг и векторизация.
  • Реальные примеры: Разбор кода из высоконагруженных систем: игровые движки, финансовые серверы, обработка больших данных.

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

  • Разработчиков C++ с опытом от 1 года, которые хотят перейти на уровень senior.
  • Инженеров, работающих над latency-sensitive системами (торговые платформы, базы данных, игры).
  • Тех, кто готовится к собеседованиям в FAANG или продуктовые компании, где требуют глубокого понимания производительности.

Что вы узнаете?

  • Как ускорить код в 2-10 раз, не меняя архитектуру.
  • Почему «очевидные» оптимизации часто вредят и как этого избежать.
  • Как проектировать системы, которые остаются быстрыми при росте нагрузки.
  • Современные практики C++17/20 (std::optional, std::variant, концепты) для повышения производительности.

Книга написана живым языком, содержит много листингов, графиков и практических заданий. После её прочтения вы сможете не только писать быстрый код, но и аргументированно защищать свои решения перед коллегами.

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