C/ C++ 常用的程序优化措施

我学图像处理的,
自个编个程序可能就是比人家高手编的每一帧图像都慢个十几ms。
在群里问,他们说有
1 汇编优化
2 宏优化
3 SSE优化
等方法,

那么现在我就拿最简单的函数
for(j=0;j<50;j++)
{
for(i=0;i<100;i++)
{
int add(int &a, int &b)
{
return a + b;
}
}
}
怎么能优化?
自己敲得代码,函数体打到循环里了,打错了。
应该是

int add(int &a, int &b)
{
return a + b;
};

for(j=0;j<50;j++)
{
for(i=0;i<100;i++)
{
add(100,100);
}
}

1. 看你的算法效率,其实这个是核心
2. 语意优化。
自己审查代码,哪些可以合并的,比如说命名一个循环即可解决,你非要写了两个循环分别来进行,这情况可以合并;
3. 减少new / delete 对
考虑采用内存池,自己编写管理模块。这个看具体应用
4. windows接口的使用记得采用微软推荐的方式
5. 牺牲空间换取时间
用内存空间换取速度优势,这个你搜索下,有很多例子
------------------------------
还是建议你先审查自己的程序。。。确定瓶颈在哪了,再谈优化!不然,会很盲目!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-20
汇编优化,就是高级语言编译成目标程序后,反汇编进行优为。或者特殊模块使用嵌入汇编指令。

宏优化,就是某些使用频繁的小语句片断,使用宏来替代。就比如你现在这个题目。可以在程序里#define add(a,b) a+b 来替代经常调用的函数add(a,b)

sse优化是利用处理器支持的特殊指令来完成计算。
第2个回答  2013-03-20
add可以定义成宏啊
#define add(a, b) ((a)+(b))
相似回答