博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优化代码,有效使用内存总结
阅读量:7080 次
发布时间:2019-06-28

本文共 1023 字,大约阅读时间需要 3 分钟。

  hot3.png

优化代码,有效使用内存总结

1. 在优化代码之前,一定要确信运行次数大到足以掩盖最初的加载开销, 意思是要在足够多的循环中测试,否则有些代码的运行时间太少,剖分软件无法捕捉到.

2. 将调用频率最高的函数以内联(inline)的形式加以实现是有意义的(即: 直接被调用的函数的代码插入到其他函数体内,从而节省一定数量的开销,如函数调用的开销).
3. 寻找热点即消耗时间最多的代码,提升速度最慢的代码给整个软件代码的提升是效果最好的,所以找准性能瓶颈代码很重要,时间要花在重要的事情上.不要做无用功.
4. 不要将代码优化与汇编语言混为一谈.
5. 在试图用汇编语言重写程序之前,先查看一下编译器生成的汇编代码并估算它的效率.
6. 如果编译器生成的汇编语言列表虽然显得不错,但是程序运行起来依然很慢,就可以考虑将它加载到一个反汇编工具之中去。
7. 如果可用的处理器指令能够实现比较高效的算法,那么就用不着去管编译器而可以着手去实现汇编语言代码。
8. 在开发汇编语言代码时,不管存在什么样的干扰,都应该给出一个精巧而高效的方案。
9. 编译器无法完成所有的优化任务。
10. 高级语言同样可以实现如汇编语言那样的优化工作。
11. 算法很重要,高效的算法比使用汇编语言更有效,汇编语言虽然很高效,但是维护困难,开发难度大,与编写的作者的水平有关。尽量使用高级语言+高效的算法提升程序的性能.

一些技巧:

1. 用常量替换变量。
2. 在编译时刻计算变量的值。
3. 在编译的时刻计算函数值。
4. 删除没有用到的变量。
5. 删除变量的拷贝。
6. 删除没有用到的赋值。
7. 删除不必要的赋值语句.
8. 删除不必要的表达式.
9. 删除不必要的函数调用。
10. 做代数变换(减少除法,乘法)。
11. 优化子表达式。
12. 用算术运算替换条件跳转.
13. 删除冗余条件。
14. 删除那些肯定不成立的条件。
15. 循环展开。
16. 将不变代码移动到循环之外。
17. 用带后置条件的循环替换带有前置条件的循环。
18. 用减1指令替换循环增1指令。
19. 删除分支。
20. 删除永远无法调用到的代码(死码)。
21. 选择合适的编译器,不同的编译器对所产生的代码的优化程度是不一样的。

合理掌握运行性能,代码紧凑度和开发代码所需要的时间.

 

转载于:https://my.oschina.net/GMT/blog/886393

你可能感兴趣的文章
ubuntu下chrome无法同步问题解决
查看>>
Centos7 系统安装
查看>>
HTTP 499 状态码 nginx下 499错误
查看>>
利用光盘安装linux系统
查看>>
笔记本系统恢复连载之七:华硕笔记本系统恢复
查看>>
流量×××与流量监控的区别
查看>>
判断对象属性中是否有空值
查看>>
语境驱动测试7原则
查看>>
解读cdsn 600万 用户信息泄露事件,打开CSDN 600万用户数据之迷
查看>>
Nagios监控搭建与配置详细步骤
查看>>
Tomcat内存设置
查看>>
20经典英语谚语
查看>>
Keras实现的文本情感分类例子
查看>>
StringBuilder和StringBuffer有什么区别?
查看>>
定制MyBatis Generator输出内容
查看>>
JAVA流之管道流PipedInputStream,PipedOutputStream
查看>>
golang gopath的新用法
查看>>
Java线程中断的本质深入理解
查看>>
Git---基础(转)
查看>>
python/c++ 深拷贝与浅拷贝(转)
查看>>