首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么利用汇编代码优化

2012-11-08 
如何利用汇编代码优化?最近导师要我优化代码其涉及关键代码,这个函数被反复调用,所以稍作优化整体性能提升

如何利用汇编代码优化?
最近导师要我优化代码
其涉及关键代码,这个函数被反复调用,所以稍作优化整体性能提升会很明显:
inline double two_sum(double a, double b, double &err) {
 double s = a + b;
  double bb = s - a;
  err = (a - (s - bb)) + (b - bb);
  return s;
}
导师叫我利用汇编优化,可我不知如何优化。设计到double类型,可能需要FPU指令。
希望各位牛人给点意见。

[解决办法]
err = a-((a+b)-(s-a) + (b - (s-a)))
把编译选项改成最优化模式,编译后的汇编代码估计就是最优的。但从程序上看。

估计你老是的意思是从数学角度来分析里面的关系,修改代码。
[解决办法]
不知道使用register关键字管不管用
[解决办法]
单纯优化这个函数你能干过编译器的概率比0大不了多少,你该优化你的算法。。。

考虑下能不能改造下计算过程,使之能更好的使用 SSE(2|3)* 等优化。。。
考虑下你是否需要double的精度,是不是float就够了,降低运算精度可以大大提高浮点性能。。。
提高运算的并行程度,使之能够使用 OpenMP 甚至是 CUDA 。。。




[解决办法]
用汇编来优化代码,要看硬件环境的,
优化的种类也有很多不同的形式:
1,提高算法的性能
2,根据硬件环境来设置编译选项,
例如arm环境下,如果16位总线,那么thumb指令的指令读取时间短,用thunb指令可以提高程序执行速度
或将代码放入系统的同步ram中来执行,可以减少cpu等待时间从而提高新能
3,协处理器来处理浮点运算
 

热点排行