大家好,小弟近来在做dsp上的sift特征提取,自己实现的纯c代码,600*400的图片pc端运行花费4秒。
移植到c6748上运行,做了一些优化(编译选项设置,使用内联函数,循环优化等)后,仍然要花费2分钟,这个速度实在是太慢了。
由于sift算法数据量较大,为了有足够的空间,我运行在外扩RAM(ddr2)中,这个应该对速度有一定影响。
现在不知道在什么地方改进,把经常调用的函数放在片内RAM中运行应该会快一点吧?
请问一下有做过相关的工作的吗?希望能给一些改进的建议,在此非常感谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,小弟近来在做dsp上的sift特征提取,自己实现的纯c代码,600*400的图片pc端运行花费4秒。
移植到c6748上运行,做了一些优化(编译选项设置,使用内联函数,循环优化等)后,仍然要花费2分钟,这个速度实在是太慢了。
由于sift算法数据量较大,为了有足够的空间,我运行在外扩RAM(ddr2)中,这个应该对速度有一定影响。
现在不知道在什么地方改进,把经常调用的函数放在片内RAM中运行应该会快一点吧?
请问一下有做过相关的工作的吗?希望能给一些改进的建议,在此非常感谢。
非常感谢你的回复。我会进一步修改我的算法。
我还想请教一下,cmd文件中,我把所有的代码和数据放在了外扩DDR2中,而不是片内RAM,片内RAM放不下,这是否会影响到速度,DDR2貌似主频比片内RAM低。如果我把部分频繁调用的代码和数据放入片内RAM,是否能适当提高速度?