性能优化的诀窍

很多小伙伴成为程序员后,总会面临自己写的代码运行速度慢,效率低。
本篇文章讲介绍一下如何快速提升程序运行速度。
首先定位很重要,想要对代码进行优化,首先要知道性能瓶颈在哪里,我经过多年的工作,总结出一些主要原因:
1.磁盘,网络等设备的io,尤其是很多新手在进行网络编程时,用的是同步阻塞模。例如,服务器监听一个端口,必须要等有数据过来,才能进行下一步,如果没有数据过来就一直卡在这里。
2.循环,尤其是多层循环。在做某些算法操作,例如矩阵运算这类,需要在循环里面再嵌套子循环,这样就会造成程序效率低
3.mmap操作时,如果文件太大,那么受到系统内存页的限制,一半一个内存页为8192,需要创建很多个内存页,会增加隐性的资源开销。
4.cpu缓存的命中率低,如果操作一个非线性结构的数据,会造成cpu缓存的不友好。
5.内存拷贝,对象和对象赋值,会触发内存拷贝,这也是一无形的开销。
第一种情况,使用异步io
第二种情况,使用线程池,或者有必要的话使用gpu运算
第三种情况,引入大页机制
第四种情况,对于读写频率高的数据,尽量使用线性结构
第五种情况,尽量使用引用的方法传递参数
最后,我是一名拥有五年工作经验的c++程序员,主要从事算法的优化,大部分常规项目经过我的调优,最低能提升20%的性能(在不增加额外硬件的情况下),先来报个到,以后的文章里,我会拿我做过的项目分析优化的经验,喜欢就关注我一下。
这是一个钢铁直男的创业情怀。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值