C程序优化

1、在做任何执行速度上的优化时,须充分考虑优化后代码体积开销缺陷
2、提倡使用查表方法
3、求余,除法,乘法尽量采用位运算代替
4、平方运算,改为乘法运算
5、循环判断条件尽量简单明了
6、使用 do while()循环替代for and while循环
7、循环展开,可手动循环展开,也可由编译器完成,循环展开带来代码体积的开销和寄存器的消耗
8、多采用厂家提供的内敛指令编写代码
9、CPU支持的情况下,数组运算尽量采用并行化操作
10、尽量操作指针,利用指针代替数组操作,对数组寻址,只对指针进行偏移操作,无需计算数组下标地址进行操作
11、数据结构合理,保持与读写总线相同的位宽
12、操作数需频繁从某个内存地址读取时,将操作数值拷贝至本地局部变量,利用寄存器进行操作
13、for(;;) 比 while(1) 好
14、避免读写依赖
15、for()循环中减少 if的分支判断,不要打断排好的流水。

1、选择合适的算法和数据结构 2、使用尽量小的数据类型 3、减少运算的强度 (1)查表 (2)求余运算 (3)平方运算 (4)用移位实现乘除法运算 (5)避免不必要的整数除法 (6)使用增量和减量操作符 (7)使用复合赋值表达式 (8)提取公共的子表达式 4、结构体成员的布局 (1)按数据类型的长度排序 (2)把结构体填充成最长类型长度的整倍数 (3)按数据类型的长度排序本地变量 (4)把频繁使用的指针型参数拷贝到本地变量 5、循环优化 (1)充分分解小的循环 (2)提取公共部分 (3)延时函数 (4)while循环和do…while循环 (5)循环展开 (6)循环嵌套 (7)Switch语句中根据发生频率来进行case排序 (8)将大的switch语句转为嵌套switch语句 (9)循环转置 (10)公用代码块 (11)提升循环的性能 (12)选择好的无限循环 6、提高CPU的并行性 (1)使用并行代码 (2)避免没有必要的读写依赖 7、循环不变计算 8、函数 (1)Inline函数 (2)不定义不使用的返回值 (3)减少函数调用参数 (4)所有函数都应该有原型定义 (5)尽可能使用常量(const) (6)把本地函数声明为静态的(static) 9、采用递归 10、变量 (1)register变量 (2)同时声明多个变量优于单独声明变量 (3)短变量名优于长变量名,应尽量使变量名短一点 (4)在循环开始前声明变量 11、使用嵌套的if结构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值