进阶阅读
如果你想学习更多的基础性能调试技术或处理器架构方面的知识,以下是我推荐的一些资源:
1. The Performance of Open Source Application, Travish Armstrong编著(可以从http://aosabook.org,2013下载), 这本简短的书包含了绝大多数我们之前讨论的性能优化基本原则运用的案例分析。例如,书中讲到Ninjia构建系统的那一章。
2. C++性能方面的书,例如,不得不说有点老的书C++ Performance Programming Techniques, Dov Bulka和David Mayhew著,Addison Wesley 1999, (顺便提一下,这是我看过的第一本计算机性能方面的书!)。还有一本是较新的,Optimized C++,Kurt Guntheroth著,O’Reiily 2013, 该书的第一章讨论了很多传统的性能优化技术。
3. Power and Performance. Software Analysis and Optimization, Jim Kukunas, Morgan Kaufman 2015. 该书讨论了现代Intel处理器的历史和架构,介绍了获取CPU性能数据的工具并解释了一些底层优化技术。然而,该书仅针对Linux操作系统和工具。
4. 对于在不同处理器架构上的性能陷阱的更深入讨论可在Agner’s Fog网站(http://www.agner.org/optimize/microarchitecture.pdf, 2018)找到,该文章更针对编译器开发者。还有,即是被广泛引用的Ullrich Drepper的文章What every programmer needs to know about memory (http://www.akkadia.org/drepper/cpumemory.pdf, 2007), 该文章提供了RAM存储器,缓存,虚拟内存的许多细节,以及可能的底层内存优化技术。
最后,即Donald Knuth关于性能优化的著名论断出自他的一篇论文:Structure programming with go to statements, ACM Computing. Survey., 6(4), 1974.
网友评论