代码调优
来源:互联网 发布:微信浏览器js刷新页面 编辑:程序博客网 时间:2024/06/10 04:54
1.整数取模优化
因为C语言中的模运算%开销大,所以用
value += dalta;if (value > size)value -= size;
代替
value = (value + delta) % size;
2.用宏定义代替简单函数,减少函数调用开销,但是避免在递归调用的语句中使用。
用
#define MAX(x, y) ( (x) > (y) ? (x) : (y) )
代替
int max(x, y){return x > y ? x : y;}
3. 顺序搜索的时候用哨兵合并测试条件
用
int search(int array[], int size, int value){//array长度为size + 1int array[size] = value;int i;while (array[i] != value)i++;if (i == size)return -1;elsereturn i; }
代替
int search(int array[], int size, int value){int i;for (ij = 0; i < size; i++)if (array[i] == value)return i;return -1;}
4.顺序搜索的时候用展开循环来消除自增,循环展开有利于避免管道阻塞,减少分支,增加指令并行性。
用
int search(int array[], int size, int value){//array长度为size + 1int array[size] = value;int i;while (array[i] != value){if (array[i] == value)break;if (array[i + 1] == value){i += 1;break;}if (array[i + 2] == value){i += 2;break;}if (array[i + 3] == value){i += 1;break;}if (array[i + 1] == value){i += 3;break;}if (array[i + 4] == value){i += 4;break;}i += 5;}if (i == size)return -1;elsereturn i; }
代替
int search(int array[], int size, int value){//array长度为size + 1int array[size] = value;int i;while (array[i] != value)i++;if (i == size)return -1;elsereturn i; }
0 0
- 测试代码调优?
- js代码调优
- 代码调优
- 代码调优
- 第九章 代码调优
- Java代码性能调优
- 第九章 代码调优
- java代码性能调优
- 【读书笔记】代码大全25章:代码调优
- ADO.Net炸弹代码性能调优
- 【编程珠玑】第九章 代码调优
- 编程珠玑代码调优习题12
- 附录D 代码调优法则
- JVM调优之jstack 代码诊断
- 编程珠玑 Pearls(9. 代码调优)
- c代码回调java中的代码
- C代码回调java代码
- 代码无错便是优?
- linux下查看用户及用户组的方法
- Linux 2.6.34下 USB驱动(U盘\USB鼠标、键盘)
- Mac OS X El Capitan(10.11)显示隐藏文件命令失效解决方法
- 移动开发人员如何写出殿堂级简历
- 手机网站支付宝配置
- 代码调优
- 用Java 8 Lambda表达式实现设计模式:命令模式
- Redis 的安装配置
- mac设置开机启动脚本或应用
- 常用的垃圾回收算法
- AssetBundle小实验
- 全栈工程师初级体验
- 斗地主 -(一) 如何开发斗地主
- JQuery Mobile学习笔记