作者:大帅哥晶晶_527 | 来源:互联网 | 2022-10-16 14:37
我目前正在阅读Ulrich Drepper的“每个程序员应该了解的内存知识”。与html相关的章节是?ere,整个文本的pdf也很容易找到。
为了解释CPU高速缓存对性能的影响,他经历了几个遍历单个链接列表的变体。他比较的两个主要场景是顺序的,每个项目都链接到其右手邻居,并且是随机的。
我发现很难理解的一点是在图3.16中,他绘制了L2缓存未命中率与列表大小的关系。对于随机链接的列表,只要列表适合L2且该比率(2 ^ 19字节)迅速增加,该比率就为零。到目前为止,似乎是合理的。但是,如果它缓慢地在2 ^ 22和2 ^ 26之间下降,它就不会继续上升而是下降。之后,它又陡然上升。
作者描述了这种现象,但似乎并没有真正解释它。
我自己无法想到这种违反直觉的行为的任何原因。
有人能启发我吗?