【问题标题】:Element ordering for cache-friendly 2D arrays缓存友好的二维数组的元素排序
【发布时间】:2011-11-10 11:27:34
【问题描述】:

有没有办法将元素排列在 2D 数组中(1D 数组,大小为 width * height,[y*width+x] 用于访问),以便小的笛卡尔距离倾向于转化为靠近在一起的 1D 索引?我需要随机遍历一个 2D 数组并希望优化缓存友好性。

【问题讨论】:

    标签: arrays optimization data-structures


    【解决方案1】:

    空间填充曲线将 2d 复杂度降低到 1d 复杂度。例如z曲线、希尔伯特曲线和莫顿曲线。

    【讨论】:

    • 空间填充曲线通常不会优化缓存效率。
    • 高速内存集成到 CPU 中或靠近 CPU,包含最近使用的 RAM 区域以加快访问速度。
    • 这是您在问题中提出的另一个定义。
    猜你喜欢
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 2021-12-18
    • 2013-09-05
    相关资源
    最近更新 更多