【发布时间】:2012-05-01 05:56:55
【问题描述】:
我知道存在内存缓存,因此使用内存中许多不同点的值会导致缓存未命中并损害性能。当一个程序被执行时,它实际上是以类似于 L1 缓存的小块从内存加载到 cpu 中的吗?我问,因为大概然后频繁地在内存中跳转会导致此缓存未命中并损害性能。所以我想这是两个问题:是否有这样的“执行缓存”并且经常跳来跳去会损害性能。
附:不确定除了性能和缓存之外还有哪些合适的标签。
附言一个示例情况可能是包含大量嵌套 ifs 和 elses 的其他紧密循环,其中每个 if 和 else 嵌套底部的最终结果只是少量代码。
【问题讨论】:
-
除非你需要你的代码非常快,否则你可能不需要担心缓存未命中。有很多更简单的方法可以优化您的程序。
-
对于我 99.9% 的代码,我不关心这个。这仅与那些需要非常非常快的少数、罕见但关键部分相关,如何快速处理大量具有高性能的小型相关案例是我目前面临的问题。跨度>
标签: performance caching