问题解决了,却不符合各户的期望(处理速度太慢了!),我该怎么办???
对一个冷静的人来说,首先应该必需想到的是:代码的优化!
代码优化大全:
软件优化法:
1>选择合适的数据结构和算法 //一个好的程序必需一定是有一个好的数据结构,然后是算法的实现问题
2>尽量使用小的数据类型
3>减小运算的强度 //a:用移位实现乘除法运算 b:避免不必要的整数除法
4>注意结构体成员的布局 //a:按数据类型的长度排序 b:把结构体填充成最长类型长度的整数倍
5>循环优化 //a:充分分解成小的循环 b:提取公共部分 c:将大的switch 语句转换成嵌套的switch 语句
6>提高CPU的并行性 //a:试用并行代码 b:避免没有必要的读写依赖
7>循环不变的计算
8>函数的试用 //a:试用Inline函数 b:不定义不使用的返回值 c:减少函数调用参数 d:尽可能使用常量
(const) e:把本地函数声明为静态的(static)
9>采用递归算法
10>变量的声明 //a:使用register变量 b:同时声明多个变量优于单独声明变量 c:在循环开始前声明变量 11>试用嵌套的 if 结构
有的时候,问题解决了,用户体验却不如人意,反馈给我们的就一句话:慢!
代码已经高优化了,怎么办?没有别的办法了吗?有!看硬件优化法。
硬件优化法:
1>硬件中的cache在默认的情况下,是关闭的,我们可以打开cache进行优化,会有很明显的优化
化!
2>我们可以在合适的范围内提高时钟的频率
/*
eg:S3C2410 CPU默认的工作主频为12M的Hz 使用PLL电路 可以产生更高的主频供CPU及外围器
件试用。
*/