本书未涉及的内容

系统性能取决于不同的组件:CPU、操作系统、内存、I/O 设备等。应用程序可以通过调整系统的各个组件来获益。一般来说,工程师应该分析整个系统的性能。然而,系统性能的最大因素是其核心,即CPU。这就是为什么本书主要从CPU的角度进行性能分析,偶尔涉及操作系统和内存子系统。

本书的范围不超出单个CPU插槽,因此我们不会讨论分布式、NUMA和异构系统的优化技术。使用诸如OpenCL和openMP之类的解决方案将计算外包给加速器(GPU、FPGA等)在本书中也没有讨论。

本书以Intel x86-64 CPU架构为中心,并不提供针对AMD、ARM或RISC-V芯片的具体调优方案。尽管如此,本书讨论的许多原则也适用于这些处理器。此外,Linux是本书选择的操作系统,但对于我们提供的大多数示例来说,这并不重要,因为相同的技术也有益于运行在Windows和macOS操作系统上的应用程序。

本书中的所有代码片段均以C、C++或x86汇编语言编写,但在很大程度上,本书中的思想也适用于其他编译为本机代码的语言,如Rust、Go,甚至Fortran。由于本书针对的是靠近硬件运行的用户模式应用程序,因此我们不会讨论托管环境,例如Java。

最后,作者假设读者对他们开发的软件拥有完全控制权,包括他们使用的库和编译器的选择。因此,本书不涉及调整购买的商业软件包,例如调整SQL数据库查询。

results matching ""

    No results matching ""