int main()
{for (i = 1;i<=31999;i++){F[i]=(Sig_mod_out[i-1]>0)?32767:-32767;D[i]=_ssub(Sig_qnt_os[i] , F[i]);S[i]=_sadd(S[i-1],D[i]);Sig_mod_out[i]=S[i]>0;}
}
F,S,D,Sig_mod_out初始化为空,Sig_qnt_os给定的
优化等级 -o2,–opt_for_speed 3
循环cycle为350000;如何进一步优化,希望cycle能在100000以内
Shine:
用-O3优化选项试试。
Tao_LL:
回复 Shine:
试过的,结果没有优化
user5179571:
回复 Tao_LL:
请问您这个是怎么做的优化呢?我也遇到同样的问题,而且我直接使用-O3选项,读取的数据变量会出错。请问您是怎么做的呢?
Tao_LL:
回复 user5179571:
您好。
如果循环次数较大。可以尝试在循环前加上一句UROLL的预编译指令。O3是不会直接导致出错的
user5179571:
回复 Tao_LL:
e2echina.ti.com/…/495547
您好,这是我发表的贴子,您能否帮我看一下我的这个问题。十分感谢。
出错是因为我想从文件中读取数据之后,将读取出来的前三个float型数据转换成int型数据(记录的是我整个数据大小,以便后续处理)的过程,加上这个-O3优化后,后两个改成的int型数据就不对了(之前读取的float型数据还是对的。)只有用-O0时不会出错,但处理速度没有提升。
TI中文支持网

