c++性能优化(cpu篇)

背景

1、做性能优化时,其实也是存在二八定律的,基本上80% 的性能损耗是由20%的代码引起的,而且这20%的代码被基本上被调用的频率非常高。因此一些比较简单的优化就能显著提高性能;

2、在写好代码之后再考虑性能优化的事,否则会出现代码难以读懂,抽象依赖细节等各种问题。另外过早的优化可能没有想象的那么有用,原因参考第一条;

3、在资源不是很紧张的情况下,程序员的生产力的提高比性能的优化更重要。

4、很多优化都是在做时间和空间的权衡,考虑哪个更重要,然后决定优化思路;

5、良好的代码风格,代码结构能有效提高代码的性能;

6、优化是有限度的,代码的可读性与可维护性非常重要。

工具

liunx下一般使用gprof,windows下一般使用vs自带的vsperfmon.exe。

优化方法

1、在空间允许的前提下,将经常访问的资源,缓存在内存中;

2、优化判断条件,减少循环次数;

3、优化锁的使用,能用原子操作的就不用锁。能用应用层同步手段的,就不要使用内核对象同步;

4、优化内存使用,内存块频繁的申请与释放耗时比较大,必要情况下可以自己实现内存管理;

5、减少非必要的线程创建,节省系统资源与切换造成的性能损耗,考虑线程池;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值