1.定义的结构体,元素的size比较小的放前面,size比价大的放后面,编译器会优化整个结构体占用的内存
2.数组的大小最好按照4/8的倍速来定义
3.程序中用移位代替除法,提高程序运行的小笼包
4.需要循环,或者多次调度的函数,一定要注意,不要留下冗余,记住2/8法则,20%的代码决定了整个程序的效率
5.优化程序运行效率可以从设计框架层面,算法方面,code方面来提高。
6.最近内存越来越贵,相比运算速度,内存比较能限制量产的利润
7.switch的case的查询顺序编译器优化过一轮,不是依次从第一个开始查的,最高概率的case应该放在switch的中间
8.函数的参数不要多于4个,小于4个,是通过寄存器的传递,>=4个,要通过栈来传递的
9.定义一个变量,int这种32位的直接赋值,但是char,short int这8、16位赋值的要通过移位的步骤,不过测试后效率是一样的,arm指令集已经做好了
10.五级流水线、七级流水线,最高程序跑的越猛,提前把下一条指令执行,但是循环里面会受到限制,可以通过拆解循环,循环里面多做点事=事情,从而减少循环的次数,来优化一把。
11.代码设计思想,策略和机制相分离,策略层做控制,机制做逻辑实现,层次明朗的代码更容易维护
12.针对不同的arm体系结构,和编译器的编译选项,细致优化,比较耗时间。