程序优化的几个建议.doc

程序优化的几个建议.doc

ID:56456625

大小:69.00 KB

页数:1页

时间:2020-06-24

程序优化的几个建议.doc_第1页
资源描述:

《程序优化的几个建议.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、给出程序优化的几个建议,希望对你有帮助如何写出高性能的C/C++代码一直是hack追求的境界,这里总结了一些常用的,希望对大家有用,欢迎拍砖,给出建议。第一:记住,代码写完后一定要做一下系统优化,无论上面是否这样要求,但是这点很重要,是一种态度,当然优化可以借助各种工具如IBM和INTEL系列的优化工具,一般80%的时间被20%的代码所占用。第二:如果你所在公司,对程序性能优化不重视,那么就请跳槽吧。第三:要知道你所用编译器是怎么去优化多维数组访问的,如A[i][j]->A[i][j+1]和A[i][j]->A[i+1][j]的访问速度对不同的编译器会有明显的速度差异,在里面涉及到c

2、acheblock击中问题。第四:关注多核处理器对浮点运算的处理方式。第五:减少局部栈变量。我们知道任何系统给的栈空间的大小极为吝啬的,一般是1-4MB左右。如果栈变量过多,那么会导致一部分栈变量存在register里面,这会影响函数调用速度。第六:尽量减少函数参数个数,如果不需要返回,就不要返回,减少栈深度。第七:尽量用pass-by-reference和指针传递参数,避免不必要的复制。第八:尽量避免使用cast操作,这会产生一个temp变量,挤占register的空间,影响I./O效率。第九:声明C++类的时候避免使用赋值构造第十:正确写出轻量级的构造函数,如用A():a(0){

3、}代替A(){a=0;}第十一:尽量用位运算代替四则运算第十二:谨慎使用函数跳转表第十三:对自己定义的类,尽量用+=-= =*=代替+-*/第十四:尽量延迟局部变量的声明和初始化第十五:如果不影响计算的话,用prefix++代替postfix++,对于用户自己定义的类,这两个操作符都要定义,防止客户误用第十六:使用泛型编程看起来很酷,但是主流编译器对他的优化是有限的,尽量避免使用。第十七:在计算过程过程中,避免动态内存操作。第十八:搞清楚你硬件cache大小第十九:避免不必要的初始化第二十:尽量提前结束loop第二十一:用数学公式去简化你的计算,如不要SB到用循环或者递归去计算等差

4、数列的前N项和第二十二:递归尽量少用,虽然很美,但是这回消耗本来就不富裕的栈空间第二十三:尽量不要用虚函数。这会增加类的大小第二十四:浮点计算和整形计算的速度没有你想的差距那么大,现在CPU都支持浮点运算,准备使用定点化计算的时候最好raytrace一下。综合考虑空间和时间上的效率

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。