作者WSzc (WSzc)
看板AndroidDev
标题[问题] 请问回圈中的矩阵运算该如何加速?
时间Sat May 19 00:46:25 2012
大家好,
不好意思有个运算速度的问题想请问大家
假设有以下的运算式
float Num[40000][40];
float temp = 0;
// Num矩阵的值都先assign完成
for(int i=0;i<40000;i++)
{
for(int j=0;j<40;j++)
{
temp += Num[i][j]*Num[i][j];
}
}
上面黄色那行在矩阵很大的时候会花很多时间,
但因为程式需求 必须得要开这麽大
之前在笔电上(i5双核2.3GHz)跑 可以瞬间跑出来 以为不是个问题
没想到在手机上(一支1GHz另一支双核1.2GHz)卡在这行卡好几秒
不知道有没有比较好的写法 可以加快速度? 感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.215.139
1F:推 bukiya:透过java jni,让矩阵在native code计算会比较快一些 05/19 13:31
2F:→ bukiya:板本3.0以上,可以试试看用新的api renderscript,效果应该 05/19 13:33
3F:→ bukiya:jni差不多 05/19 13:33
4F:推 exoduschi:在进第二回圈前 可以先看是不是零 或是一 05/22 01:58
5F:→ fjm31714:内层可以多放几个计算式 j一次加2然後作[i][j] [i][j+1] 05/22 12:49
6F:→ fjm31714:或是在多一些 不过可能要测试看看 05/22 12:50