C++应用性能:从理论到实践
300 页
Chinese
PDF
4.5

C++应用性能:从理论到实践

C++应用性能:从理论到实践

作者:

年份:

简介:

《C++应用性能》一书是一本实用指南,旨在帮助开发者从代码中榨取最大性能。与讲解语言基础的教科书不同,本书聚焦于瓶颈点、硬件特性以及在高负载系统、游戏引擎、金融应用和嵌入式开发中使用的现代优化技术。



本书适合谁?

  • 拥有2年以上经验、希望提升到新水平的C++开发者。
  • 从事延迟敏感型应用(交易系统、流媒体、实时图形)的工程师。
  • 负责性能相关架构决策的技术负责人。
  • 学习系统编程的高年级学生。


您将从本书中学到什么:

  • 性能分析:如何正确使用perf、Valgrind、Intel VTune、Google Benchmark。您将学会找到真正的瓶颈,而不是凭空猜测。
  • 内存:缓存未命中、数据对齐、内存池、自定义分配器。了解为什么即使在频繁插入时,std::vector也可能比std::list更快。
  • 算法与数据结构:选择合适的容器、优化哈希表、扁平容器、使用SOA(结构体数组)而非AOS。
  • 并行处理:无锁结构、原子操作、正确使用std::async和线程池。避免数据竞争和伪共享。
  • 编译器:如何阅读汇编清单、优化标志、__restrict提示、likely/unlikely、分支预测宏。
  • 现代C++:移动语义、拷贝省略、constexpr和用于编译时计算的元编程。


本书遵循“从问题到解决方案”的原则。每一章都以一个实际慢速代码示例开始,随后分析原因,并逐步进行优化并测量速度。所有示例均可在GitHub上获取,并已在Linux和Windows上的GCC和Clang上测试通过。



特别关注适用于现代处理器(Skylake、Zen 3/4、Apple Silicon)的技术。您将了解为什么某些优化能带来10倍的性能提升,而另一些则毫无用处,以及如何避免浪费时间在“为了优化而优化”上。



本书不是参考手册,而是一个实用工具。阅读后,您将能够自信地对任何项目进行性能分析,找到“瓶颈”并消除它们,同时不牺牲代码的可读性。推荐给已经使用C++编写代码并希望写得更快的人。

推荐