请高手们帮忙看一下,
一个函数,输入xn包含有76657个double数据,经过浮点数除法运算以后输出yn,输出yn是需要有约44960个double数据,yn的结果要push到pStream里面,为了输出到文件或者数据库,需要在0.5s内完成,最好是越快越好。基本的运算方案不能做修改,只能想办法提升效率。目前发现
会有卡顿。不知道有没有什么比较极致的提高效率的方法。
目前可能卡顿在几个地方:
1,pStream的效率不够高
2,qvector的效率不够高
3,大量的浮点数除法运算的效率不够高。
4,循环的次数太多了。
void function(const QVector<double> &xn, const double &ts, QVector<double> &yn, const int &dsp_period, double frequency, std::ostringstream *pStream)
运算为:
yn_data[m] = (1 + n -m*ratio)*xn_data[n] + (- n + m * ratio)*xn_data[n+1] ;
*pStream << yn_data[0] << "\r\n";
--
FROM 110.87.25.*