我知道有内存缓存,因此使用内存中许多不同点的值会导致缓存未命中并损害性能.当一个程序执行它是否实际从内存加载到类似于L1缓存的小块中的cpu?我问,因为可能因此经常在内存中
附:除了性能和缓存之外,还不确定适用于此的标记.
P.P.S.一个示例情况可能是一个包含大量嵌套ifs和elses的紧密循环,其中每个if和else嵌套底部的最终结果只是少量代码.
是.此缓存称为指令缓存.耗尽它会对性能产生严重影响.这就是内联函数并不总是有益的原因.内联函数将更快,但膨胀的代码大小可能会驱动I-cache的热路径.Linux内核deverlopers邮件列表对此主题进行了有趣的讨论.