优化 C++/简介
外观
< 优化 C++
选择 C++ 而非更简单的高级编程语言的主要原因之一在于,C++ 允许开发复杂的软件,并能比使用其他语言更高效地利用硬件资源。该语言本身并不能自动保证生成高效的代码,但它提供了一套工具集,帮助程序员追求效率。编写随意的 C++ 代码可能并不比用更高级语言实现的相同算法更高效,但一位精通 C++ 的优秀程序员能够编写出从一开始就高效的软件,并进一步优化代码。本书将提供编写高效代码以及优化现有软件的技术。
通常,对于一个编程问题,并不存在一个适用于所有情况的最优解决方案。因此,优化通常并不意味着编写出性能最优的软件;相反,它意味着渐进式地改变(重构)软件以提升其性能,使其趋近于最优状态。
这种优化要求软件源代码的编写方式足够模块化,以便能够将性能关键部分分离出来。在代码编写得当的前提下,优化就需要运用工具、库、知识以及时间去修改这些部分,从而提高软件整体的执行速度。
如今,许多优化工作已由编译器完成,不再需要程序员承担。本书讨论的是更高层次的优化技术,这些是当前编译器尚无法完成的。
本书面向的读者是那些已经熟悉 C++ 语言,并希望使用它来开发高性能应用软件或软件库的人。
书中介绍的几乎所有优化技术都是平台无关的,因此很少会提及特定的操作系统、处理器架构或编译器。然而,在特定的操作系统/处理器/编译器组合下,某些介绍的技术可能效果不佳或完全不适用。