数据结构中的遇到的一些小知识整理

一、数组与链表对cpu缓存的友好性差别数组

由于CPU中的读取速度是比内存要快不少的。因此咱们把一些数据经过CPU缓存可以显著提高性能。 而数组在内存中是占据连续的内存空间的,而CPU在从内存中读取数据的时候会把该内存地址后面的一部分数据也缓存进去。这样CPU在访问数组数据的时候先从CPU缓存的数组中寻找,找不到再从内存中复制。 这也就是CPU缓存的意义,为了弥补内存访问速度过慢和CPU执行速度过快的差别而应用。 而链表在内存中是以不连续的碎片的方式存储的。CPU并不能把后续的链表数据缓存起来,天然也没有性能的提高了。
相关文章
相关标签/搜索