代码重复减少有效缓存大小

Code duplication reduces effective cache size

我正在阅读 Scott Mayor 的演讲,他提到了这一行:

Down side of inlining: Code duplication reduces effective cache size

我没有看到代码重复与有效缓存大小有什么关系

重复代码意味着相同的指令在连续的内存地址上重复,而不是在循环体中有这些指令的一个副本。这意味着许多缓存行都填充了相同的内容,而不是只有几个。由于这些指令被频繁访问(每个循环一次 运行),它们可能不会离开缓存,因此其他代码(或数据,如果缓存是统一的)必须离开,如果频繁访问次数较少,则不会发生这种情况访问指令填充缓存条目。