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/

相关文章:

arrays - 检查值是否与自定义数组元素列表中的键匹配并检索其值

python - 查找未知形状的 numpy ndarray 的第一个元素

wpf - 不合理的 WPF DataGrid 加载时间

java - h2database 的排序速度很慢

c++ - 当条件产生时结束线程。 C/C++

c - tasm 中自动插入代码

ios - tableView.reloadData 清除数组 - 索引超出范围

c++ - 有没有一种快速方法可以将所有 vector 值 'move' 移动 1 个位置?

c - Nginx 代理模块和套接字描述符传递

c - 胡乱使用 *nix API 会导致文本文件出现乱码