金句级表达 · PITHY EXPRESSION
数组访问的顺序比算法本身更能决定性能
一个 O(n³) 的矩阵乘法,仅通过改变循环遍历顺序(从 IJK 变为 IKJ),不改变任何算法逻辑,性能可以提升 10 倍。这不是魔法——IKJ 使内层循环访问的列向量变为连续内存访问,命中空间局部性,而 IJK 的列遍历导致每次访问都跳过整个缓存行。**代码的"做什么"没变,但"怎么访问数据"决定了它是 1x 还是 10x**。
来自这本书的解读报告
《深入理解计算机系统》
这本书回答了程序员为何需要理解硬件这一问题,答案是:不理解底层,你就无法真正掌控程序的正确性和性能。
阅读完整解读报告 →