我想了解有关低级代码优化以及如何利用底层机器架构的更多信息。我正在寻找有关在哪里阅读有关此主题的好建议。
更多详情:
我对在 C/C++ 等低级语言中的科学计算(这是很多数字运算,但不仅)环境中的优化感兴趣。我对那些不明显的优化方法特别感兴趣,除非人们对机器的工作原理有很好的了解(我还不了解)。
例如,很明显,更好的算法更快,无需了解运行它的机器的任何信息。如果一个人首先遍历矩阵的列或行,这一点并不明显。 (最好循环遍历矩阵,以便依次读取存储在相邻位置的元素。)
欢迎提供有关该主题的基本建议或文章指针。
答案
得到了很多很好的答案,比我有时间阅读的要多得多。以下是所有这些的列表:
- The software optimization cookbook来自英特尔(书籍)
- What every programmer should know about memory (pdf书)
- Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level (书)
- Software optimization resources作者:Agner Fog(五本详细的 pdf 手册)
我需要一点时间来决定使用哪一个(没有时间)。
最佳答案
Drepper 的 What Every Programmer Should Know About Memory [pdf]是对低级优化的一个方面的很好引用。
关于c++ - 如何编写快速(低级)代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852670/