【发布时间】:2023-03-18 15:28:01
【问题描述】:
关于缓存相关的性能问题有很多讨论。我有几个关于他们的问题:
- 可能最受欢迎的问题是cache locality 和false cache sharing。还有其他人吗?
- 有什么好的概述吗?
- 是否有任何经过验证的技术可以对抗它们?
- 真正存在问题的应用程序有哪些共同特征?计算密集型领域(数学/图像处理等)?高度并行的应用程序?
【问题讨论】:
-
相对于缓存行对齐循环会有所帮助,具体取决于冲突和驱逐。不经常使用但重复使用的项目,比如占用两条缓存线,但可能适合一个缓存线,花费两倍的获取时间,每次执行获取 8 个字而不是说 2 或 3 个。要查看此操作添加或在 .text 中删除一个然后两个然后三个 nop 以强制改变整个程序的对齐方式,然后观察你的性能变化。
标签: performance optimization cpu-cache