当前位置 : 主页 > 网络安全 > 测试自动化 >

由于缓存问题,在程序中跳转会损害性能

来源:互联网 收集:自由互联 发布时间:2021-06-22
我知道有内存缓存,因此使用内存中许多不同点的值会导致缓存未命中并损害性能.当一个程序执行它是否实际从内存加载到类似于L1缓存的小块中的cpu?我问,因为可能因此经常在内存中
我知道有内存缓存,因此使用内存中许多不同点的值会导致缓存未命中并损害性能.当一个程序执行它是否实际从内存加载到类似于L1缓存的小块中的cpu?我问,因为可能因此经常在内存中跳转会导致此缓存未命中并损害性能.所以我想这是两个问题:是否存在这样的“执行缓存”并且确实会经常出现性能损失.

附:除了性能和缓存之外,还不确定适用于此的标记.

P.P.S.一个示例情况可能是一个包含大量嵌套ifs和elses的紧密循环,其中每个if和else嵌套底部的最终结果只是少量代码.

是.此缓存称为指令缓存.耗尽它会对性能产生严重影响.这就是内联函数并不总是有益的原因.内联函数将更快,但膨胀的代码大小可能会驱动I-cache的热路径.

Linux内核deverlopers邮件列表对此主题进行了有趣的讨论.

网友评论