C++ 应用程序性能
C++ 应用程序性能
简介:
《C++ 应用程序性能》是一本实用指南,面向希望学习编写快速、高效且可扩展 C++ 代码的开发者。与学术教材不同,本书聚焦于实际任务:如何找到瓶颈,如何在不损失可读性的情况下加速程序运行,以及如何让应用程序为高负载工作做好准备。
本书内容是什么?
- 性能分析与基准测试:您将学习如何使用工具(perf、Valgrind、Google Benchmark)正确测量性能,解读结果并找到“瓶颈”。
- 内存管理:高效内存管理、缓存未命中、分配器、移动语义和避免拷贝。我们将分析如何减少碎片化并加速数据访问。
- 算法与数据结构:如何选择正确的容器(std::vector vs std::list、flat_map、微优化),何时使用哈希表,何时使用树。
- 多线程与并发:并行算法、同步(互斥锁、原子操作、无锁结构)、线程池以及 std::async 的使用。
- 编译器优化:关键编译标志(O2、O3、LTO),理解汇编输出,内联和向量化。
- 真实案例:来自高负载系统的代码分析:游戏引擎、金融服务器、大数据处理。
本书适合谁?
- 拥有 1 年以上经验、希望晋升为高级工程师的 C++ 开发者。
- 从事延迟敏感系统(交易平台、数据库、游戏)的工程师。
- 准备 FAANG 或产品公司面试、需要深入理解性能的人。
您将学到什么?
- 如何在不改变架构的情况下将代码加速 2-10 倍。
- 为什么“显而易见”的优化常常有害,以及如何避免这种情况。
- 如何设计在负载增长时仍能保持快速运行的系统。
- 用于提升性能的现代 C++17/20 实践(std::optional、std::variant、概念)。
本书语言生动,包含大量代码清单、图表和实战练习。阅读后,您不仅能编写快速代码,还能有理有据地向同事捍卫自己的解决方案。