代码调优
2016-07-21 10:46
218 查看
“”代码调优“”首先确定程序中开销较大的部分,然后对齐修改,但其也是双刃剑,当可能存在的危害影响较大时,请考虑适当将效率放一放。接下来举几个常见的手段:
(1)使用开销小的比较运算代替取模运算
(2)函数、宏和内联:通过使用宏定义替换原来的函数来打破函数层次,不过在递归情况下使用宏定义的方式效果反而不好。
(3)搜索:在例如顺序搜索中,可以使用哨兵项来合并测试条件
(4)考虑更换数据结构,使用简便的运算方式来进行调优。
代码调优的大多目的是为了减少CPU时间,除了减少时间,代码调优还可以减少程序所需要的空间。不过有时性能、功能与可维护性与内存和运行时间是矛盾的,需要权衡进行折中。
(1)使用开销小的比较运算代替取模运算
y = x + rand; if(y >= n) y -= n;
(2)函数、宏和内联:通过使用宏定义替换原来的函数来打破函数层次,不过在递归情况下使用宏定义的方式效果反而不好。
(3)搜索:在例如顺序搜索中,可以使用哨兵项来合并测试条件
int search(t) { x = t;//设置哨兵项 for(i = 0 ; ; i++ ) if(x[i] == t)//注意不是“=” break; if( i == n) return -1; else return 1; }
(4)考虑更换数据结构,使用简便的运算方式来进行调优。
代码调优的大多目的是为了减少CPU时间,除了减少时间,代码调优还可以减少程序所需要的空间。不过有时性能、功能与可维护性与内存和运行时间是矛盾的,需要权衡进行折中。