加速2D矩阵读取

时间:2015-02-20 23:04:42

标签: c arrays performance matrix

我有一个大小为4 * n的矩阵,比方说(4 * 3000) 那么从矩阵中存储和读取元素的最快方法是什么呢?

我尝试了两种解决方案,它们给了我相同的时间。

  1. 一个大小为12000个元素的数组(2D - > 1D)读取(i + width * j)

  2. 4个大小为1 * 3000的数组,然后使用(IF ELSE或Switch case)语句决定我应该读取哪个数组

  3. 因此,是否有另一种解决方案可供使用。 此外,如何使用移位技术>>解决问题,如果它适用于这种情况

1 个答案:

答案 0 :(得分:0)

第一种技术应该更快。

此外,您可以通过访问行中的循环内的元素来提高性能(... arr[11] = ...; arr[12] = ...; arr[13] = ...; ...)。