我的程序里有如下代码,它特别耗时间,我认为主要消耗在了复数的运算上,有什么改进的方法吗?能加快复数的运算,缓存和编译器优化我都试过了,效果不明显。(data[ ]是复数,cabsf是对复数取模,conjf是对复数取共轭,a和b都是整数,处理器为C6748)
for(j=0;j<1536;++j)
{
lookup[j] = cabsf(data[j]*conjf(data[j+1280])) – ((a + b) >> 1);
}
Shine:
请问是用什么方法测试代码运行时间的?测出来多少时间?
xincheng nalan:
回复 Shine:
用TSCL测的cycle,大约要14 654 357个cycle
taoyu:
回复 xincheng nalan:
我也碰过类似的问题,后来只能是把用到的内存对齐,把部分浮点都改成整形去处理才能稍微优化一点。你找到优化的门道没?