循环遍历二维数组的最快方法?

2023-12-27

我只是偶然发现这篇博文 http://lbrandy.com/blog/2009/03/more-cache-craziness/关于缓存算法。

作者展示了两个循环遍历矩形并计算某些内容的代码示例(我的猜测是计算代码只是一个占位符)。

在其中一个示例中,他垂直扫描矩形,在另一个示例中水平扫描。然后他说第二个最快,每个程序员都应该知道为什么。现在我肯定不是程序员了,因为对我来说看起来一模一样。

谁能解释为什么前者更快?


缓存一致性。当您水平扫描时,您的数据在内存中会更靠近,因此缓存未命中次数会更少,因此性能会更快。对于足够小的矩形,这并不重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环遍历二维数组的最快方法? 的相关文章

随机推荐