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

时间:2015-05-16 05:05:32

标签: c++ cpu-cache

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

  

内联的缺点:代码重复会降低有效的缓存大小

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

1 个答案:

答案 0 :(得分:5)

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