c - 加速二维矩阵读取

标签 c arrays performance matrix

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

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

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

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

那么,是否还有其他的解决方案可以使用。 此外,如果适用于这种情况,如何使用移位技术 >> 来解决问题

最佳答案

第一种技术应该更快。

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

关于c - 加速二维矩阵读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639742/

相关文章:

c - 使用终端而不是 Xcode 运行 C 脚本

c - 简单的 C 程序,未知的输出

c - 重新分配() : Invalid pointer in C

Python - 按行比较两个二维数组

Javascript 3 维数组赋值错误

在 C 中实现 round() 的简洁方法?

mysql - 在JS中将数组的字符串转换为数组

performance - 图形:浮点累积图像的最佳性能

c - 有没有更好的方法来确保矩阵之外的元素不被访问?

python - python 闭包中的条件性能