金句级表达 · PITHY EXPRESSION

数组访问的顺序比算法本身更能决定性能

一个 O(n³) 的矩阵乘法,仅通过改变循环遍历顺序(从 IJK 变为 IKJ),不改变任何算法逻辑,性能可以提升 10 倍。这不是魔法——IKJ 使内层循环访问的列向量变为连续内存访问,命中空间局部性,而 IJK 的列遍历导致每次访问都跳过整个缓存行。**代码的"做什么"没变,但"怎么访问数据"决定了它是 1x 还是 10x**。
来源

第6章"优化程序性能"中的矩阵乘法案例

可迁移到

大数据列式存储设计、游戏引擎的实体遍历(AOS vs SOA)、任何涉及大规模数组遍历的计算场景。 ---

来自这本书的解读报告

《深入理解计算机系统》

Randal E. Bryant / David R. O'Hallaron · 计算机系统 / 体系结构

这本书回答了程序员为何需要理解硬件这一问题,答案是:不理解底层,你就无法真正掌控程序的正确性和性能。

计算机系统·体系结构·内存层次·并发·性能优化
阅读完整解读报告 →
PRESS YOUR OWN BOOK

找一本想读的书,解读出你自己的洞察

90 秒得到核心模型 · 行动接口 · 失效边界 · 三套 SOP

解读一本书 →