|
|
1
2
一般来说,当您在缓存线边界上对齐阵列时,可以最大限度地提高缓存利用率,同时使阵列适合于任何SIMD指令。这是因为RAM和CPU缓存之间的传输单元是一条缓存线,在现代Intel CPU上是64字节。 但是,增加的对齐也可能浪费内存并降低缓存利用率。通常,只有应用程序关键快速路径上的数据结构可能需要指定更大的对齐方式。 按热度、大小顺序排列类成员是有意义的,这样,最经常访问的成员或一起访问的成员就位于同一缓存线上。 这里的优化目标是减少缓存和TLB未命中(或者,减少每个指令的周期/增加每个周期的指令)。使用大页面可以减少TLB遗漏。 |