数组赋值优化

zhaoxiaozhu 2009-07-20 03:08:57
我给一个二维数组例如:byte B[50][5]={
{0,0,1,2,4},{。。。},。。。共50个,(。。。)

}
发现这么做在测试代码性能的时候很耗时,那我应该怎么优化呢?
...全文
151 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞天御剑流 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhaoxiaozhu 的回复:]
引用 3 楼 zhaoxiaozhu 的回复:
引用 2 楼 lee673 的回复:
建议楼主看看有关稀疏矩阵的东西,应该有很好的解决办法的。。。。

稀疏矩阵??? 不明白

我是要给这个二维数组赋值,结果发现这么赋值后,测试代码性能,这里好耗时的,该怎么办呀?
[/Quote]

你应该是用了一个二重循环去赋值啊吧?

如果所赋予的值有规律的话,可以使用memcpy或者memmove复制整块内存。
ies_sweet 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nio96 的回复:]
定义成全局变量?预编译进去?
[/Quote]

将造成可执行程序庞大
ies_sweet 2009-07-21
  • 打赏
  • 举报
回复
请楼主给出具体的应用

比如这个2维数组是些什么数据,用这些数据来做什么

楼主使用的平台等等

以及硬件资源的限制

把具体应用说出来
从设计和算法上解决
否则无法得到好的想法的
allen1986 2009-07-20
  • 打赏
  • 举报
回复
每次赋的值都不一样吗?用的时候是怎么用的訥。我是 想能不能按一维数组赋值的方法给他一次赋250个元素,然后,要是用到个别值得话,可以根据计算它的 位置来取值。这样做是因为一维数组的寻址速度快于二维数组。一维数组是顺序存下来,二维数组要进行多次跳转。
jyokeni 2009-07-20
  • 打赏
  • 举报
回复
楼主是怎么个赋值法,看看可不可以换个算法来赋值试试。
还可以给变量加个volitile 限制下,也能快一点点吧
zhaoxiaozhu 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nio96 的回复:]
定义成全局变量?预编译进去?
[/Quote]
因为多次调用这个函数,这个二维数组就被多次赋值,很耗时
定义成全局变量这样是可以,可是又比较耗内存,该怎么办?
有没有两全其美的办法?
zhaoxiaozhu 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhaoxiaozhu 的回复:]
引用 2 楼 lee673 的回复:
建议楼主看看有关稀疏矩阵的东西,应该有很好的解决办法的。。。。

稀疏矩阵??? 不明白
[/Quote]
我是要给这个二维数组赋值,结果发现这么赋值后,测试代码性能,这里好耗时的,该怎么办呀?
zhaoxiaozhu 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lee673 的回复:]
建议楼主看看有关稀疏矩阵的东西,应该有很好的解决办法的。。。。
[/Quote]
稀疏矩阵??? 不明白
lee673 2009-07-20
  • 打赏
  • 举报
回复
建议楼主看看有关稀疏矩阵的东西,应该有很好的解决办法的。。。。
Nio96 2009-07-20
  • 打赏
  • 举报
回复
定义成全局变量?预编译进去?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧