亲爱的TI官方:
我最近在开发TMS320C5535的产品时候,发现我的一个函数的运行占用的时间很多,大概耗时180us。而我需要将下面这个函数的耗时降低到50us以下。现阶段我已经把C语言能有优化的地方会优化遍了。现在我想把以下这个计算“相关系数”的C函数转化为.ASM的汇编函数以便提高这个地方的运行效率。所以想来请教一个TI官方是否有好的建议。
这个图片是我在编译时候出现的反汇编程序,我想知道怎么通过CCS的反汇编快速的把C函数转化为汇编来提升函数的效率。
float Corrcoef1_test(UINT16 len, INT16* pDatabufer1, INT16* pDatabufer2)
{
float xcoef = 0;
INT32 mean1 = 0, mean2 = 0, var1 = 0, var2 = 0, var12 = 0;
INT32 temp_mean1 = 0, temp_mean2 = 0;
mean1 = sum0/QR_DATA_LEN; //Mean_int(len, pDatabufer1); //31us
mean2 = Mean_int(len, pDatabufer2);
UINT16 i = 0; for(; i < len; i++) //143us
{
temp_mean1 = *(pDatabufer1+i) - mean1;
temp_mean2 = *(pDatabufer2+i) - mean2;
var12 += temp_mean1 * temp_mean2;
var1 += temp_mean1 * temp_mean1;
var2 += temp_mean2 * temp_mean2;
}
xcoef = (float)var12 / Q_rsqrt(var1 * var2); //10us
return xcoef;
}